Запрос заголовка Ajax "X-openIDM-Reauth-Password" не работает
У меня есть программа openIDM, и когда пользователи отправляют для обновления новый пароль, она показывает "X-openIDM-Reauth-Password", который включает мой старый пароль, который мне нужно перепечатать. Ниже приведен снимок экрана со стороны openidm.
Итак, у меня есть свой собственный пользовательский интерфейс, и я получил запрос со стороны javascript ajax с последующим вызовом ajax.
$.ajax({
contentType: "application/json; charset=UTF-8",
datatype: 'json',
url: targetHost+"openidm/managed/user/"+userId,
xhrFields: {
withCredentials: true,
},
headers: {
"X-Requested-With":"XMLHttpRequest" ,
"X-OpenIDM-Reauth-Password": oldPassword
},
crossDomain:true,
data: JSON.stringify(data),
type: 'PATCH',
success:function(result) {
console.log("success");
swal({
title: updateSuccessMsgs.formSubmit.slogan,
text: updateSuccessMsgs.formSubmit.success,
type: "success"
}, function() {
window.location = "my-profile.html";
});
},
error:function (error){
sweetAlert(updateErrorMsgs.updateError.slogan, updateErrorMsgs.updateError.fail, "error");
console.log(error);
}
});
и это бросает мне эту ошибку.
XMLHttpRequest cannot load http://localhost:9090/openidm/managed/user/09096425-4ff1-42d4-8a4d-3a6b5004afca. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost' is therefore not allowed access.
Может кто-нибудь объяснить мне, почему? Ценить это.
1 ответ
Решение
Я нашел решение. Я пытаюсь добавить еще одно значение в servletfilter-cors.json следующим образом. Я добавил значение "X-OpenIDM-Reauth-Password" в "allowHeaders", и это успех.
{
"classPathURLs" : [ ],
"systemProperties" : { },
"requestAttributes" : { },
"scriptExtensions" : { },
"initParams" : {
"allowedOrigins" : "*",
"allowedMethods" : "GET,POST,PUT,DELETE,PATCH",
"allowedHeaders" : "accept,x-openidm-password,x-openidm-nosession,x-openidm-username,content-type,origin,X-OpenIDM-Reauth-Password,x-requested-with",
"allowCredentials" : "true",
"chainPreflight" : "false"
},
"urlPatterns" : [
"/*"
],
"filterClass" : "org.eclipse.jetty.servlets.CrossOriginFilter"
}