1

これは 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);
  };
4

1 に答える 1