Skip to main content
Pour utiliser la rotation des , vous utiliserez le SDK Auth0 Single Page App. Le Auth0 SPA SDK gère le stockage des jetons, la gestion des sessions et d’autres détails pour vous.

Prérequis

Configurer la rotation des jetons d’actualisation pour activer l’accès hors ligne et demander le scope offline_access dans le SDK client.

Activer useRefreshTokens

Conformément aux spécifications OAuth2, lorsqu’un navigateur demande un jeton d’actualisation au /, Auth0 ne renverra un jeton d’actualisation que si est activée pour ce client. Utilisez l’option useRefreshTokens dans createAuth0Client, dont la valeur par défaut est false. Lorsque cette option est définie à false, si getTokenSilently() est appelé et qu’un nouveau est requis, le SDK tente d’obtenir un nouveau jeton d’accès à l’aide d’un iframe caché et de prompt=none. Si vous définissez cette option à true, la portée offline_access est automatiquement demandée lors de l’utilisation de loginWithRedirect(), loginWithPopup() et getTokenSilently(). Lorsque getTokenSilently() est appelé et que le jeton d’accès a expiré, le SDK tente de renouveler les ID and jetons d’accès en appelant le point de terminaison /token à l’aide du grant type refresh_token, ainsi que du jeton d’actualisation provenant du cache. La re-authentication silencieuse se fait en envoyant le paramètre prompt=none dans la request d’authentication et en utilisant un iframe caché, à condition qu’il y ait une session utilisateur active sur l’. Le SDK utilise la méthode par iframe si vous avez défini useRefreshTokens à true, mais qu’aucun jeton d’actualisation n’est disponible dans le cache. Cela permet aux utilisateurs de passer silencieusement aux jetons d’actualisation sans avoir à se connecter de nouveau. Si l’échange échoue parce que useRefreshTokens est true, mais qu’aucun jeton d’actualisation ne se trouve dans le cache, le SDK revient à la méthode par iframe (qui peut aussi échouer si les third-party cookies sont bloqués).

Stockage des jetons

Dans les SPA, les jetons d’identité et d’accès sont obtenus auprès du serveur d’autorisation et sont généralement mis en cache en mémoire. Le renouvellement des jetons (en raison de l’actualisation du navigateur, des politiques d’éviction du cache mémoire ou de l’expiration) est pris en charge par le SDK.

Exemple

L’exemple suivant montre comment configurer le SDK pour utiliser à la fois le stockage local et les jetons d’actualisation :

En savoir plus