Файлы cookie не могут быть установлены в Firefox - PullRequest
1 голос
/ 18 марта 2020

Это приложение React. При аутентификации я предполагаю, что файлы cookie (от первого лица) должны быть одним из учетных данных для аутентификации, в том случае, если они работают на Chrome, но не на Firefox. Chrome успешно получает и сохраняет файлы cookie, но Firefox не получает эти файлы cookie.

Я использую js -cook ie для управления файлами 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);
  };

1 Ответ

0 голосов
/ 19 марта 2020

просто добавьте event.preventDefault () перед функцией isLogined в форме onSubmit. и вам не нужно вызывать функцию isLogined для кнопки, если вы уже используете кнопку type = "submit"

...