Configurer le délai d’expiration du jeton d’actualisation

Les jetons d’actualisation peuvent être la cible d’abus en cas de fuite, car ils peuvent être utilisés pour acquérir de nouveaux jetons d’accès. Pour atténuer ce risque, Auth0 recommande d’utiliser la détection automatique de réutilisation et la rotation des jetons d’actualisation. La rotation des jetons d’actualisation émet un jeton d’actualisation qui expire après une durée de vie prédéfinie. Après expiration, l’utilisateur reçoit un nouveau jeton d’actualisation de la même famille, ou des jetons d’actualisation qui partagent un identifiant de famille, ou une nouvelle paire jeton d’accès/jeton d’actualisation. Pour en savoir plus, lisez Rotation des jetons d’actualisation.

Vous pouvez activer et configurer deux paramètres de durée de vie des jetons d’actualisation, expiration absolue et expiration pour inactivité, en utilisant Auth0 Dashboard ou Management API Auth0. Vous pouvez utiliser une combinaison de périodes d’expiration absolues et d’inactivité pour créer un équilibre entre la sécurité et l’expérience de l’utilisateur qui convient à vos besoins commerciaux.

  • Durée de vie absolue : Définissez une durée de vie du jeton d’actualisation ou de la famille de jetons d’actualisation après laquelle l’utilisateur doit se réauthentifier avant de recevoir un nouveau jeton d’accès. Si vous désactivez ce paramètre, la durée de vie absolue sera indéfinie.

  • Durée de vie d’inactivité : Définissez la durée de vie d’inactivité des jetons d’actualisation émis pour qu’ils expirent si l’utilisateur n’est pas actif dans votre application pendant une période spécifiée.

Utiliser le Dashboard

  1. Allez à Dashboard > Applications.

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

  3. Allez dans l’onglet Paramètres.

  4. Sous Expiration des jetons d’actualisation, activez Définir la durée de vie du jeton d’actualisation d’inactivité. Lorsque cette option est activée, un jeton d’actualisation expirera sur la base d’une durée de vie absolue, après laquelle le jeton ne pourra plus être utilisé. Si la rotation est activée, une durée de vie doit être définie.

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

  5. Saisissez la Durée de vie absolue en secondes. Le jeton d’actualisation expire après le délai spécifié et ne peut plus être utilisé pour obtenir un nouveau jeton d’accès. Lorsque la rotation est activée, l’expiration absolue s’applique également à la possibilité d’obtenir de nouveaux jetons.

    Durée de vie Valeur
    Défaut 2 592 000 secondes (30 jours)
    Minimum 1 seconde
    Maximum 31 557 600 secondes (1 an)

  6. Activer Définir la durée de vie absolue du jeton d’actualisation. Lorsque cette option est activée, un jeton d’actualisation expirera en fonction d’une durée de vie d’inactivité spécifiée, après quoi le jeton ne pourra plus être utilisé.

  7. Saisissez la Durée de vie absolue du jeton d’actualisation en secondes. Si le jeton d’actualisation n’est pas échangé dans l’intervalle spécifié, il expire et ne peut plus être utilisé pour obtenir un nouveau jeton d’accès. La période d’expiration est renouvelée chaque fois que le jeton d’actualisation est échangé contre un nouveau jeton d’accès dans l’intervalle.

    Durée de vie Valeur
    Minimum 1 seconde
    Maximum 31 557 600 secondes (1 an)

  8. Cliquez sur Enregistrer les modifications.

Utiliser Management API

Vous pouvez configurer les paramètres de durée de vie absolue et d’inactivité dans la charge utile du point de terminaison de Management API /api/v2/clients/{id}. Voici un exemple qui définit la durée d’expiration d’un jeton d’actualisation sans rotation :

PATCH /api/v2/clients/{id}
{
  "refresh_token": {
      "rotation_type": "non-rotating",
      "expiration_type": "expiring",
      "token_lifetime": 2592000,
      "infinite_token_lifetime": false,
      "idle_token_lifetime": 604800,
      "infinite_idle_token_lifetime": false
  }
}

Was this helpful?

/

Prise en charge et limitations

  • Vous pouvez choisir d’utiliser les fonctionnalités d’expiration des jetons d’actualisation; aucune action n’est requise de votre part. Les jetons d’actualisation existants ne sont pas affectés.

  • Si vous configurez la durée de vie absolue du jeton d’actualisation pour une application, tous les jetons d'actualisation sans expiration émis par cette application deviennent des jetons d'actualisation à expiration après un échange de jetons d'actualisation réussi.

  • L’expiration du jeton d’actualisation fonctionne avec les flux suivants :

  • Vous pouvez choisir d’utiliser les fonctionnalités d’expiration des jetons d’actualisation; aucune action n’est requise de votre part. Les jetons d’actualisation existants ne sont pas affectés.

  • Si vous avez besoin d’aller au-delà de la limite d’un an (jusqu’à 5 ans), Auth0 peut augmenter la limite pour vous. Communiquez avec votre responsable de compte technique Auth0 pour plus de détails.

  • L’expiration du jeton d’actualisation fonctionne avec les flux suivants :

  • Toutes les trousses SDK Auth0 supportent l’expiration du jeton d’actualisation.

  • La fonction d’expiration du jeton d’actualisation est conforme aux recommandations BCP de sécurité OAuth 2.0.

En savoir plus