Passer au contenu principal
Les servent à demander un nouveau et/ou pour un utilisateur sans l’obliger à s’authentifier de nouveau. En règle générale, vous devriez demander un nouveau jeton d’accès avant l’expiration du précédent (pour éviter toute interruption de service), mais pas chaque fois que vous appelez une API, car les échanges de jetons sont soumis à notre stratégie de limitation du débit. Vous pouvez aussi utiliser un jeton d’actualisation pour demander un nouveau jeton d’identité pour un utilisateur, et devriez le faire si vous devez actualiser les claims du jeton d’identité.

Appeler l’API

Pour échanger le jeton d’actualisation reçu pendant l’authentification contre un nouveau jeton d’accès, appelez le point de terminaison Get token de l’Authentication API d’Auth0. Pour en savoir plus sur les méthodes d’authentification prises en charge par l’Authentication API, consultez Authentication Methods.

Utiliser l’authentification Basic

Utiliser l’authentification par POST

Définition des paramètres

ParamètreDescription
grant_typeType de grant à utiliser.
client_idID client de l’application.
client_secret(Facultatif) Secret client de l’application. Requis uniquement pour les applications confidentielles qui utilisent la méthode d’authentification Post token.
refresh_tokenJeton d’actualisation à échanger.
La réponse comprendra un nouveau jeton d’accès, son type, sa durée de vie (en secondes) et les scopes accordés. Si le scope du jeton initial comprenait openid, un nouveau jeton d’identité sera également inclus dans la réponse.
{
      "access_token": "eyJ...MoQ",
      "expires_in": 86400,
      "scope": "openid offline_access",
      "id_token": "eyJ...0NE",
      "token_type": "Bearer"
    }

Contourner MFA

Si l’authentification multifacteur (MFA) est activée et que le flux d’échange du jeton d’actualisation échoue, vous pouvez utiliser le code d’Action ci-dessous pour contourner la logique de  :
exports.onExecutePostLogin = async (event, api) => {
  // Cette action vous permet de contourner la logique MFA pour le flux d'échange de jeton d'actualisation.

  if (event.transaction.protocol === "oauth2-refresh-token") {
    return;
  }

  //  Ajoutez votre logique MFA
  //  Par exemple : api.multifactor.enable("any");
};
Vous pouvez personnaliser l’exemple de code si une logique distincte doit être exécutée ou contournée selon le flux ou le protocole en cours.

Personnaliser la MFA

La MFA personnalisable avec les flux Resource Owner Password Grant, Embedded ou de jeton d’actualisation est en accès anticipé. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit prévues dans le Master Subscription Agreement d’Okta. Pour en savoir plus sur les étapes de mise en production d’Auth0, consultez Étapes de mise en production des produits. Pour participer à l’accès anticipé, communiquez avec l’assistance Auth0.
La MFA personnalisable permet aux utilisateurs d’inscrire les facteurs de leur choix pris en charge par votre application et de répondre aux défis correspondants. Lors de l’authentification au point de terminaison oauth/token, la réponse renvoie l’erreur mfa_required, qui comprend le mfa_token à utiliser avec l’API MFA ainsi que le paramètre mfa_requirements, qui contient une liste d’authentificateurs :
{
  "error": "mfa_required",
  "error_description": "Multifactor authentication required",
  "mfa_token": "Fe26...Ha",
  "mfa_requirements": {
    "challenge": [
      { "type": "otp" },
      { "type": "push-notification" },
      { "type": "phone" },
      { "type": "recovery-code" }
      { "type": "email"} //fonctionne uniquement avec challenge
    ]
  }
}
Utilisez le mfa_token pour appeler le point de terminaison mfa/authenticator afin d’obtenir la liste de tous les facteurs auxquels l’utilisateur s’est inscrit et de repérer le même type que votre application prend en charge. Vous devez également obtenir le authenticator_type correspondant pour émettre des défis :
[
  {
    "type": "recovery-code",
    "id": "recovery-code|dev_qpOkGUOxBpw6R16t",
    "authenticator_type": "recovery-code",
    "active": true
  },
  {
    "type": "otp",
    "id": "totp|dev_6NWz8awwC8brh2dN",
    "authenticator_type": "otp",
    "active": true
  }
]
Imposez le défi MFA en appelant le point de terminaison request/mfa/challenge. Personnalisez davantage votre flux MFA avec Auth0 Actions. Pour en savoir plus, consultez Déclencheurs d’Actions : post-challenge - objet API.

En savoir plus