Configurer la rotation des jetons d’actualisation

Configurer la rotation du jeton d’actualisation pour chaque application à l’aide du Dashbaord ou de la trousse SDK Auth0 pour les applications à page unique (SPA). Lorsque la rotation des jetons d’actualisation est activée, la transition pour l’utilisateur est transparente. L’application utilise le jeton d’actualisation non rotatif précédent, non expiré, et le remplace par un jeton d’actualisation rotatif.

Les scénarios de migration tiennent compte de la révocation automatique des jetons lors de la migration d’un jeton d’actualisation non rotatif vers un jeton d’actualisation rotatif et vice-versa.

  • La rotation des jetons d’actualisation est activée : L’échange d’un jeton d’actualisation non rotatif émet un nouveau jeton d’actualisation rotatif et supprime tous les jetons non rotatifs émis pour le même client_id, le même serveur de ressources, le même utilisateur et le même locataire.

  • Lorsque la rotation des jetons d’actualisation est désactivée : L’échange d’un jeton d’actualisation rotatif émet un jeton d’actualisation non rotatif et révoque la famille de jetons d’actualisation rotatifs émis pour le même client_id, le même serveur de ressources, le même utilisateur et le même locataire.

Configuration dans le Dashboard

  1. Allez à Dashboard > Applications.

  2. Sélectionnez l’application que vous souhaitez configurer.

  3. Allez dans l’onglet Paramètres.

  4. Sous Rotation des jetons d’actualisation, activez Autoriser la rotation des jetons d’actualisation.

    Dashboard (Tableau de bord) Applications Onglet Application Settings (Paramètres d’application) Refresh Token Rotation (Rotation du jeton d’actualisation)

  5. Saisissez Rotation Overlap Period (Période de chevauchement de la rotation) (en secondes) pour le jeton d’actualisation afin de tenir compte de la marge de manœuvre entre la demande et la réponse avant de déclencher la détection automatique de réutilisation. Cette période de chevauchement permet d’éviter les problèmes de concurrence lorsque le jeton d’actualisation rotatif est échangé plusieurs fois dans un délai donné. Pendant cette période, les fonctions de détection de violation 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 violation sera déclenchée.

  6. Sélectionnez Sauvegarder les changements.

Configurer avec la trousse SDK Auth0 pour les applications à page unique (SPA)

Vous pouvez utiliser la trousse SDK Auth0 pour les applications à page unique (SPA) pour activer la rotation des jetons d’actualisation. Vous devez permettre l’accès hors ligne et demander la permission d’accès hors ligne dans le SDK client.

  1. Installez la dernière version de la trousse SDK auth0-spa-js : npm install @auth0/auth0-spa-js

  2. Activez la fonctionnalité sur la trousse SDK en définissant useRefreshTokens: true pour commencer à envoyer la permission offline_access.

    codeblockOld.header.login.configureSnippet
    const auth0 = await createAuth0Client({
          domain: '{yourDomain}',
          client_id: '{yourClientId}',
          audience: '{yourApiIdentifier}',
          useRefreshTokens: true
        });

    Was this helpful?

    /

  3. Configurez les paramètres de rotation des jetons d’actualisation. Par exemple :

    PATCH /api/v2/clients/{client_id}
        {
          "refresh_token": {
            "rotation_type": "rotating",
            "expiration_type": "expiring",
            "token_lifetime": "2592000",
            "leeway": 3
          }
        }

    Was this helpful?

    /
    Attribut Description
    rotation_type Chaîne de texte : « rotatif » ou « non-rotatif »
    expiration_type Chaîne de texte : « expirant » ou «non-expirant »
    token_lifetime La période d’expiration par défaut d'un jeton d’actualisation, lorsque la Rotation des jetons d’actualisation est activée, est de 30 jours (2 592 000 secondes). Vous pouvez configurer jusqu’à 1 an (31 557 600 secondes). La durée de vie ne s’étend pas lorsque les jetons sont renouvelés.
    leeway Autoriser le même jeton d’actualisation à être utilisé pendant la période de temps pour tenir compte des problèmes de concurrence de réseau potentiels qui invalideraient autrement le jeton si le client tentait de réessayer en utilisant le même jeton d’actualisation. Par défaut, la marge par défaut est désactivés. Configurable en secondes.

Détection automatique de réutilisation

Si un jeton précédemment invalidé est utilisé, l’ensemble des jetons d’actualisation émis depuis l’émission de ce jeton invalidé sera immédiatement révoqué en même temps que l’octroi, ce qui obligera l’utilisateur à s’authentifier à nouveau.

En savoir plus