Passer au contenu principal
Configurez la rotation du pour chaque application dans l’Auth0 Dashboard ou à l’aide du Auth0 SPA SDK. Lorsque la est activée, la transition est transparente pour l’utilisateur. L’application utilise le jeton d’actualisation non rotatif précédent, encore valide, et l’échange contre un jeton d’actualisation rotatif. Les scénarios de migration prennent en charge la révocation automatique des jetons lors du passage d’un jeton d’actualisation non rotatif à un jeton d’actualisation rotatif, et inversement.
  • Lorsque la rotation du jeton d’actualisation est activée : L’échange d’un jeton d’actualisation non rotatif délivre un nouveau jeton d’actualisation rotatif et supprime tous les jetons non rotatifs émis pour le même client_id, le , l’utilisateur et le locataire.
  • Lorsque la rotation du jeton d’actualisation est désactivée : L’échange d’un jeton d’actualisation rotatif délivre un jeton d’actualisation non rotatif et révoque la famille de jetons d’actualisation rotatifs émise pour le même client_id, le serveur de ressources, l’utilisateur et le locataire.

Configurer dans l’Auth0 Dashboard

  1. Accédez à Dashboard > Applications.
  2. Sélectionnez l’application que vous voulez configurer.
  3. Accédez à l’onglet Settings.
  4. Sous rotation des jetons d’actualisation, activez Allow rotation des jetons d’actualisation.
    Dashboard Applications Applications Settings Tab Refresh Token Rotation
  5. Entrez la Rotation Overlap Period (en secondes) du jeton d’actualisation pour tenir compte du délai entre la requête et la réponse avant de déclencher la détection automatique de réutilisation. Cette période de chevauchement aide à éviter les problèmes de simultanéité lorsque vous échangez le jeton d’actualisation rotatif plusieurs fois dans un délai donné. Pendant cette fenêtre de tolérance, les fonctionnalités de détection de compromission ne s’appliquent pas, et un nouveau jeton d’actualisation rotatif est émis. Seul le jeton précédent peut être réutilisé; si l’avant-dernier est échangé, la détection de compromission sera déclenchée.
  6. Sélectionnez Save Changes.
La rotation des jetons d’actualisation n’est prise en charge que pour les applications conformes à OIDC avec le type d’octroi Jeton d’actualisation activé.

Configurer avec le SDK SPA d’Auth0

Vous pouvez utiliser le SDK SPA d’Auth0 pour activer la rotation des jetons d’actualisation. Vous devez activer l’accès hors ligne et demander le scope offline_access dans le SDK de l’application.
  1. Installez la version la plus récente du SDK auth0-spa-js : npm install @auth0/auth0-spa-js
  2. Activez la fonctionnalité dans le SDK en définissant useRefreshTokens: true afin d’envoyer le scope offline_access.
  3. Configurez les paramètres de rotation du jeton d’actualisation. Par exemple :
    PATCH /api/v2/clients/{client_id}
    {
      "refresh_token": {
        "rotation_type": "rotating",
        "expiration_type": "expiring",
        "token_lifetime": "2592000",
        "leeway": 3
      }
    }
    
    AttributDescription
    rotation_typeChaîne de texte : “rotating” ou “non-rotating”
    expiration_typeChaîne de texte : “expiring” ou “non-expiring”
    token_lifetimeLa période d’expiration par défaut du jeton d’actualisation, lorsque la rotation des jetons d’actualisation est activée, est de 30 jours (2 592 000 secondes). Vous pouvez la configurer jusqu’à 1 an (31 557 600 secondes). La durée de vie n’est pas prolongée lors de la rotation des jetons.
    leewayPermet d’utiliser le même jeton d’actualisation pendant une période donnée afin de tenir compte d’éventuels problèmes de concurrence réseau qui, autrement, invalideraient le jeton si l’application tentait de réessayer avec ce même jeton d’actualisation. Par défaut, ce délai de tolérance est désactivé. Configurable en secondes.
La rotation des jetons d’actualisation est prise en charge uniquement pour les applications conformes à OIDC avec le type d’octroi Jeton d’actualisation activé.

Détection automatique de la réutilisation

Si un jeton précédemment invalidé est utilisé, tous les jetons d’actualisation émis depuis l’émission de ce jeton, ainsi que l’autorisation, seront immédiatement révoqués, ce qui obligera l’utilisateur à s’authentifier de nouveau.

En savoir plus