これは React アプリです。認証では、Cookie(ファーストパーティ)を認証対象の資格情報の1つに含めます.Chromeでは機能しますが、Firefoxでは機能しません。Chrome は Cookie を正常に取得して保存しますが、Firefox はその Cookie を取得しません。
Cookie の管理にjs-cookieを使用しています
const isLogined = () => {
var xhr = new XMLHttpRequest();
const data = { Name, Password };
enableLoading();
setTimeout(() => {
Http.post(`thisistheapiurl`, data, (xhr.withCredentials = true))
.then(res => {
disableLoading();
if (res.status === 200) {
if (res.data.result !== "failed") {
var expired = new Date(new Date().getTime() + 3600 * 1000);
Cookies.set("header", `${res.headers["x-header"]}`, {
expires: expired
});
Cookies.set("signature", `${res.headers["x-signature"]}`, {
expires: expired
});
Cookies.set("refreshToken", `${res.headers["x-refreshtoken"]}`, {
expires: expired
});
// alert("succes");
window.location.href = "/dashboard";
} else {
setStatus(
intl.formatMessage({
id: "AUTH.VALIDATION.INVALID_LOGIN"
})
);
}
}
})
.catch(err => {
console.log(err);
disableLoading();
setStatus(
intl.formatMessage({
id: "AUTH.VALIDATION.INVALID_LOGIN"
})
);
});
}, 1000);
};