Ошибка файла cookie Samesite на локальном хосте с auth0

Aug 18 2020

Я использую auth0 для реализации аутентификации в моем приложении реакции. Я использую хук useAuth0 () следующим образом:

const { isAuthenticated, isLoading } = useAuth0();

Я также реализовал вход, используя

const { loginWithRedirect } = useAuth0();
.
.
.
<button onClick={() => loginWithRedirect()} />

Когда я нажимаю кнопку, она перенаправляется на auth0, и я могу войти в систему. После входа в систему он перенаправляется обратно в приложение и без каких-либо проблем показывает маршруты, для которых выполнен вход. Однако проблема заключается в том, что когда я вношу какие-либо изменения в приложение, оно перезагружается, и мне снова открывается страница входа, хотя я вошел в систему. На вкладке «Проблемы Chrome» отображается это сообщение.

Я не могу понять, почему он не работает при обновлении, но почему он работает при перенаправлении после входа в систему, и я пытался найти решение со вчерашнего дня, но пока не повезло. Я столкнулся с поиском файла cookie, который вызывает предупреждение Chrome SameSite, что является наиболее близким вопросом, который я мог найти, но, похоже, он не дает правильного ответа о том, как его решить.

Ответы

KennyJohnJacob Aug 28 2020 at 05:18

В конце концов, у меня сработал ответ на еще один вопрос ТАК .

Вот содержание,

Проблема заключалась в том, что и Brave, и Safari использовали Intelligent Tracking Prevention (ITP), что препятствовало работе тихой аутентификации.

Решение, которое сработало для меня, заключалось в том, чтобы включить ротацию токенов обновления (через панель инструментов Auth0) и предоставить дополнительные реквизиты поставщику Auth0.

Два новых свойства, которые нужно добавить: useRefreshTokens={true}и cacheLocation="localstorage".

<Auth0Provider
  domain={process.env.REACT_APP_AUTH0_DOMAIN}
  clientId={process.env.REACT_APP_AUTH0_CLIENT_ID}
  redirectUri={window.location.origin}
  onRedirectCallback={onRedirectCallback}
  useRefreshTokens={true}
  cacheLocation="localstorage"
>
  {children}
</Auth0Provider>

Вот официальные документы, чтобы узнать больше о ротации токенов обновления: https://auth0.com/docs/tokens/refresh-tokens

И это была проблема с github, которая прояснила проблему https://github.com/auth0/auth0-react/issues/101