Errore del cookie del sito stesso su localhost con auth0

Aug 18 2020

Sto usando auth0 per implementare l'autenticazione nella mia app React. Sto usando l'hook useAuth0 () come segue,

const { isAuthenticated, isLoading } = useAuth0();

Ho anche implementato il login usando

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

Quando premo il pulsante, reindirizza a auth0 e sono in grado di accedere. Dopo l'accesso, reindirizza all'app e mostra i percorsi registrati senza alcun problema. Il problema tuttavia è che quando apporto qualsiasi modifica all'app, questa si ricarica e mi viene nuovamente presentata la pagina di accesso, anche se ho effettuato l'accesso. Nella scheda Problemi di Chrome viene visualizzato questo messaggio.

Non sono in grado di capire perché non funziona sull'aggiornamento, ma perché funziona sul reindirizzamento dopo il login e ho cercato di trovare una soluzione da ieri, ma finora senza fortuna. Mi sono imbattuto in Trova il cookie che causa l'avviso SameSite di Chrome che è la domanda più vicina che ho trovato, ma non sembra dare una risposta adeguata su come risolverlo.

Risposte

KennyJohnJacob Aug 28 2020 at 05:18

Ciò che ha funzionato per me alla fine è stata una risposta a un'altra domanda SO .

Ecco il contenuto,

Il problema era che Brave e Safari utilizzano entrambi Intelligent Tracking Prevention (ITP), che impediva il funzionamento dell'autenticazione silenziosa.

La soluzione che ha funzionato per me è stata quella di abilitare la rotazione dei token di aggiornamento (tramite il dashboard di Auth0) e di fornire ulteriori oggetti di scena al provider di Auth0.

I due nuovi oggetti di scena da aggiungere sono: useRefreshTokens={true}e 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>

Ecco i documenti ufficiali per saperne di più sulla rotazione dei token di aggiornamento: https://auth0.com/docs/tokens/refresh-tokens

E questo è stato il problema di GitHub che ha chiarito il problema https://github.com/auth0/auth0-react/issues/101