Skip to main content
La prise en charge du mot de passe du a été ajoutée à /oauth/token. L’utilisation du point de terminaison /oauth/ro a été dépréciée le 8 juillet 2017. Le point de terminaison /oauth/ro servait auparavant à échanger un mot de passe à usage unique (OTP) reçu par l’utilisateur final par courriel ou par SMS contre un et un . Auth0 a mis en place une nouvelle API qui remplace /oauth/ro pour ce cas d’utilisation, et nous vous recommandons de migrer vers ce nouveau point de terminaison.

Fonctionnalités touchées

Ce changement vous concerne si vous utilisez l’échange des identifiants du propriétaire de la ressource et envoyez directement des requêtes à /oauth/ro sans utiliser de bibliothèques Auth0 ni de SDKs.
Lorsqu’un jeton d’accès /oauth/ro d’un utilisateur expire, Auth0 l’oblige à s’authentifier de nouveau (déconnexion forcée requise), car le jeton d’actualisation /oauth/ro ne peut pas être utilisé pour envoyer une requête à /oauth/token afin d’obtenir un nouveau jeton d’accès. Tous les utilisateurs actuellement connectés devront se connecter de nouveau pendant la migration de /oauth/ro vers /oauth/token.

Actions

Modifications de la requête

Auparavant, la charge utile d’une requête envoyée à /oauth/ro ressemblait à ceci :
Voici les changements apportés à la nouvelle mise en œuvre :
  • Le point de terminaison pour exécuter les échanges de jetons est maintenant /oauth/token.
  • Le type d’octroi propre à Auth0 est utilisé pour authentifier les utilisateurs à partir d’une connexion précise (ou d’un realm).
  • Auth0 prend en charge les scopes OIDC standards, ainsi que les scopes que vous avez définis dans votre API personnalisée.
  • Un scope qui ne correspond à aucune de ces catégories, comme favorite_color ci-dessus, n’est plus un scope valide.
  • Le paramètre device a été supprimé.
  • Le paramètre audience est facultatif.
Voici un exemple de la charge utile d’une requête à /oauth/token :
  • Le type d’octroi est indiqué ici par http://auth0.com/oauth/grant-type/passwordless/otp.
  • Les paramètres client_id et username sont inchangés.
  • Le client_secret doit être fourni pour les (p. ex. les applications Web traditionnelles).
  • Le mot de passe à usage unique doit être envoyé dans le paramètre otp au lieu du paramètre password.
  • Le realm sert à identifier la connexion et remplace le paramètre connection des requêtes précédentes.
  • Le paramètre scope est essentiellement le même, mais il n’accepte pas de valeurs non OIDC.
  • Le paramètre audience peut être ajouté pour indiquer l’ de l’API à laquelle le jeton sera destiné.

Modifications des réponses

Les réponses de /oauth/ro avaient un format semblable à celui-ci :
  • Le jeton d’accès renvoyé permet d’appeler le point de terminaison /userinfo (à condition que l’API indiquée par le paramètre audience utilise RS256 comme ) et, facultativement, l’API personnalisée si elle a été spécifiée.
  • Le jeton d’identification sera signé d’office avec RS256 si un en fait la demande.
  • Un sera renvoyé seulement si le scope offline_access a été accordée et que l’API a l’option Autoriser l’accès hors ligne activée.
Voici un exemple de réponse conforme à OIDC provenant de /oauth/token :

Modifications du code lors de l’utilisation des SDK

Si votre application utilise les bibliothèques natives Auth0 pour Android ou iOS, assurez-vous que la version de la bibliothèque incluse correspond au moins à la version minimale indiquée ci-dessous (ou à une version supérieure). Assurez-vous également de définir l’indicateur OIDC Conformant à true lors de la configuration des bibliothèques.

Vérifier la migration

  1. Pour vérifier si vous utilisez le point de terminaison déprécié, consultez les tenant logs, appliquez le filtre Deprecation Notice, puis recherchez les logs contenant oauth/ro passwordless: This feature is being deprecated. Vous pouvez aussi faire cette recherche directement avec la requête suivante : type:depnote AND description:*passwordless*.
  2. Une fois votre base de code migrée et après vous être assuré que vos apps n’appellent plus ce point de terminaison, allez dans le Dashboard, sous Tenant Settings > Advanced.
  3. Faites défiler jusqu’à Migrations et désactivez Legacy /oauth/ro Endpoint. La désactivation de ce commutateur désactive le point de terminaison déprécié pour votre tenant, ce qui empêche son utilisation.
Si la désactivation de ce commutateur entraîne des échecs de connexion, c’est signe qu’il reste encore du code hérité dans vos applications. Une fois les migrations effectuées avec succès dans les environnements de production, le commutateur peut être désactivé et laissé ainsi afin de garantir que les fonctionnalités dépréciées ne puissent plus être utilisées.

En savoir plus