/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 :
- 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_colorci-dessus, n’est plus un scope valide. - Le paramètre
devicea été supprimé. - Le paramètre
audienceest facultatif.
/oauth/token :
- Le type d’octroi est indiqué ici par
http://auth0.com/oauth/grant-type/passwordless/otp. - Les paramètres
client_idetusernamesont inchangés. - Le
client_secretdoit être fourni pour les (p. ex. les applications Web traditionnelles). - Le mot de passe à usage unique doit être envoyé dans le paramètre
otpau lieu du paramètrepassword. - Le
realmsert à identifier la connexion et remplace le paramètreconnectiondes requêtes précédentes. - Le paramètre
scopeest essentiellement le même, mais il n’accepte pas de valeurs non OIDC. - Le paramètre
audiencepeut ê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ètreaudienceutilise 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_accessa été accordée et que l’API a l’option Autoriser l’accès hors ligne activée.
/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’indicateurOIDC Conformant à true lors de la configuration des bibliothèques.
Vérifier la migration
- 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/ropasswordless: This feature is being deprecated. Vous pouvez aussi faire cette recherche directement avec la requête suivante :type:depnote AND description:*passwordless*. - 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.
- Faites défiler jusqu’à Migrations et désactivez Legacy
/oauth/roEndpoint. La désactivation de ce commutateur désactive le point de terminaison déprécié pour votre tenant, ce qui empêche son utilisation.