Auth0 ile localhost üzerinde aynı site çerez hatası

Aug 18 2020

React uygulamamda kimlik doğrulamasını uygulamak için auth0 kullanıyorum. UseAuth0 () kancasını aşağıdaki gibi kullanıyorum,

const { isAuthenticated, isLoading } = useAuth0();

Ayrıca kullanarak giriş yaptım

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

Düğmeye bastığımda, auth0'a yönlendiriyor ve giriş yapabiliyorum. Giriş yaptıktan sonra, uygulamaya geri yönlendirir ve herhangi bir sorun olmadan giriş yapılan rotaları gösterir. Ancak sorun, uygulamada herhangi bir değişiklik yaptığımda, yeniden yüklediğimde ve oturum açmış olmama rağmen giriş sayfasıyla tekrar karşıma çıkıyor. Chrome sorunları sekmesinde bu mesajı gösteriyor.

Yenilemede neden çalışmadığını ama neden giriş yaptıktan sonra yeniden yönlendirme üzerinde çalıştığını anlayamıyorum ve dünden beri bir çözüm bulmaya çalışıyorum, ancak şimdiye kadar şansım olmadı. Bulabildiğim en yakın soru olan Chrome'un SameSite uyarısına neden olan çerezi bul ile karşılaştım , ancak nasıl çözüleceğine dair uygun bir cevap vermiyor gibi görünüyor.

Yanıtlar

KennyJohnJacob Aug 28 2020 at 05:18

Sonunda benim için işe yarayan şey, başka bir SO sorusuna verilen cevaptı .

İşte içerik,

Sorun, Brave ve Safari'nin her ikisinin de sessiz kimlik doğrulamanın çalışmasını engelleyen Intelligent Tracking Prevention (ITP) kullanmasıydı.

Benim için işe yarayan çözüm, yenileme belirteçlerini (Auth0 panosu aracılığıyla) dönüşümlü olarak etkinleştirmek ve Auth0 sağlayıcısına ek özellikler sağlamaktı.

Eklenecek iki yeni sahne şunlardır: useRefreshTokens={true}ve 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>

Yenileme jetonlarını döndürme hakkında daha fazla bilgi edinmek için resmi belgeler: https://auth0.com/docs/tokens/refresh-tokens

Ve sorunu çözen github sorunu buydu https://github.com/auth0/auth0-react/issues/101