Passer au contenu principal
peuvent faire l’objet d’abus s’ils sont compromis, puisqu’ils peuvent servir à obtenir de nouveaux . Pour atténuer ce risque, Auth0 recommande d’utiliser la détection automatique de réutilisation et la . La rotation des jetons d’actualisation émet un jeton d’actualisation qui expire après une durée prédéfinie. Une fois expiré, l’utilisateur reçoit un nouveau jeton d’actualisation de la même famille, c’est-à-dire 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, consultez Refresh Token Rotation. Vous pouvez activer et configurer deux paramètres de durée de vie pour les jetons d’actualisation, soit l’expiration maximale et l’expiration après inactivité, à l’aide de ou de la d’Auth0. Vous pouvez combiner les périodes d’expiration maximale et d’expiration après inactivité afin de trouver un équilibre entre la sécurité et l’expérience utilisateur qui convient à vos besoins d’affaires.
  • Durée de vie maximale : définissez la durée de vie d’un jeton d’actualisation ou d’une famille de jetons d’actualisation, après laquelle l’utilisateur doit se réauthentifier avant qu’un nouveau jeton d’accès lui soit émis. Si vous désactivez ce paramètre, la durée de vie maximale sera indéfinie.
  • Durée de vie après inactivité : définissez la durée de vie après inactivité des jetons d’actualisation émis afin qu’ils expirent si l’utilisateur n’est pas actif dans votre application pendant une période donnée.

Utiliser l’Auth0 Dashboard

  1. Accédez à Auth0 Dashboard > Applications.
  2. Sélectionnez l’application que vous souhaitez configurer.
  3. Accédez à l’onglet Paramètres.
  4. Sous Expiration du jeton d’actualisation, activez Définir la durée de vie d’inactivité du jeton d’actualisation. Lorsqu’elle est activée, cette option fait expirer un jeton d’actualisation selon sa durée de vie d’inactivité, après quoi il ne peut plus être utilisé. Si la rotation est activée, une durée de vie d’expiration doit être définie.
    Onglet Paramètres des applications du Dashboard Applications Expiration du jeton d’actualisation
  5. Saisissez la Durée de vie d’inactivité du jeton d’actualisation en secondes. Le jeton d’actualisation expire après l’intervalle spécifié et ne peut plus être utilisé pour obtenir un nouveau jeton d’accès. Lorsque la rotation est activée, la durée de vie d’inactivité du jeton d’actualisation s’applique également à la capacité d’obtenir de nouveaux jetons.
    Durée de vieValeur
    Par défaut2 592 000 secondes (30 jours)
    Minimum1 seconde
    Maximum31 557 600 secondes (1 an)
    • La Durée de vie d’inactivité du jeton d’actualisation ne peut pas dépasser la Durée de vie maximale du jeton d’actualisation.
    • Le calcul d’une année équivaut à 365,25 jours afin de tenir compte des années bissextiles.
  6. Activez Définir la durée de vie maximale du jeton d’actualisation. Lorsqu’elle est activée, cette option fait expirer un jeton d’actualisation selon une durée de vie maximale spécifiée, après quoi il ne peut plus être utilisé.
  7. Saisissez la Durée de vie maximale 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 de durée de vie d’inactivité du jeton d’actualisation est réinitialisée chaque fois que le jeton d’actualisation est échangé contre un nouveau jeton d’accès dans cet intervalle.
    Durée de vieValeur
    Minimum1 seconde
    Maximum31 557 600 secondes (1 an)
  8. Sélectionnez Enregistrer les modifications.

Utiliser la Management API

Vous pouvez configurer les paramètres de durée de vie maximale et de durée de vie inactive dans le payload du point de terminaison /api/v2/clients/ de la Management API. Voici un exemple qui définit la durée de vie avant expiration d’un jeton d’actualisation non rotatif :
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
  }
}

Prise en charge et limitations

  • La durée de vie maximale du jeton d’actualisation est déterminée au moment de l’émission et reste fixe pendant toute sa durée de vie, même si la durée de vie maximale du jeton d’actualisation de l’application est mise à jour. Toutefois, vous pouvez remplacer explicitement la durée de vie maximale du jeton d’actualisation au moment de l’émission à l’aide des sessions avec Actions, y compris lors d’échanges de jeton d’actualisation réussis.
  • La durée de vie en inactivité du jeton d’actualisation reflète les paramètres actuels de l’application et est mise à jour à chaque échange de jeton d’actualisation réussi.
  • Si vous configurez la durée de vie maximale du jeton d’actualisation pour une application, tout jeton d’actualisation sans expiration émis par cette application devient un jeton d’actualisation avec expiration après un échange de jeton d’actualisation réussi.
  • Une fois qu’un jeton d’actualisation sans expiration devient un jeton d’actualisation avec expiration, il ne peut pas redevenir un jeton d’actualisation sans expiration.
  • Vous pouvez choisir d’utiliser les fonctionnalités d’expiration des jetons d’actualisation; aucune intervention de votre part n’est requise. Les jetons d’actualisation existants ne sont pas touchés.
  • L’expiration des jetons d’actualisation fonctionne avec les flux suivants :
  • Tous les SDK Auth0 prennent en charge l’expiration des jetons d’actualisation.
  • La fonctionnalité d’expiration des jetons d’actualisation est conforme aux recommandations OAuth 2.0 Security BCP.
L’OAuth BCP indique que les jetons d’actualisation émis pour les applications exécutées dans un navigateur doivent avoir une expiration et soit imposer une contrainte d’expéditeur, soit effectuer une rotation des jetons à chaque requête. Par conséquent, les SPA utiliseront la rotation par défaut et ne prendront pas en charge les jetons d’actualisation sans expiration.

En savoir plus