- Associe le compte à l’utilisateur comme compte connecté.
- Stocke dans Token Vault les jetons d’accès et d’actualisation du fournisseur externe pour le compte connecté.
Authentification de l’utilisateur vs comptes connectés
/me/v1/connected-accounts) pour récupérer et stocker les jetons d’accès et d’actualisation dans le Token Vault, au lieu d’utiliser le flux de connexion sociale ou d’entreprise (point de terminaison /authorize). Une fois le flux des comptes connectés terminé avec succès, Auth0 ajoute le compte d’utilisateur au tableau connected_accounts du profil d’utilisateur. À l’inverse, pour le flux de connexion sociale ou d’entreprise, Auth0 ajoute le compte d’utilisateur au tableau identities du profil d’utilisateur.
Le tableau suivant explique les différences entre les flux d’authentification de l’utilisateur et des comptes connectés :
Vous pouvez activer l’authentification de l’utilisateur, les comptes connectés ou les deux pour les connexions sociales ou d’entreprise prises en charge. Le tableau suivant explique le comportement selon les différents paramètres de l’objectif, y compris la façon de transmettre des scopes à la connexion :
Fonctionnement
Si votre application utilise Organizations, authentifiez l’utilisateur auprès de l’organisation cible avant de lancer le flux Connected Accounts. Token Vault stocke le compte connecté dans le profil Auth0 de l’utilisateur. Chaque membre de l’organisation doit donc connecter et autoriser son propre compte externe.

- L’application cliente effectue une requête
POSTvers le point de terminaison/me/v1/connected-accounts/connectde la My Account API, en transmettant les portées et d’autres paramètres à envoyer au fournisseur externe. Pour en savoir plus, consultez Initiate Connected Accounts request. - La My Account API crée un
auth_sessionunique et unconnect_uricontenant unticket, qui redirige l’utilisateur vers un navigateur Web. L’application cliente enregistre l’auth_sessionpour vérification ultérieure. Si DPoP est configuré, la My Account API valide le DPoP Proof JWT. - L’application cliente redirige l’utilisateur vers le
connect_uriavec leticketcomme paramètre de requête, afin qu’il puisse s’authentifier et autoriser l’accès dans le navigateur. L’application cliente peut aussi transmettre uncode_challengeou uncode_challenge_methoddans l’URL, comme dans le flux de code d’autorisation avec PKCE. - L’utilisateur connecte son compte et autorise les permissions de la connexion dans l’écran de consentement.
- Une fois la connexion autorisée par l’utilisateur, le fournisseur externe redirige celui-ci vers la My Account API, qui le redirige ensuite vers l’application cliente au moyen du
redirect_uriavec unconnect_codeà usage unique. - L’application cliente présente le
connect_code, lecode_verifier(s’il y a lieu) et l’auth_sessiond’origine à la My Account API en effectuant une requêtePOSTvers le point de terminaison/me/v1/connected-accounts/complete. Pour en savoir plus, consultez Complete Connected Accounts request. - La My Account API valide la requête en confirmant ce qui suit :
- l’
auth_sessioncorrespond à l’ID initialement émis pour l’utilisateur - la requête provient du même appareil que celui ayant lancé le flux Connected Accounts
- le DPoP Proof JWT (si configuré)
- le
connect_codeà usage unique - le
code_verifier(si vous utilisez le flux PKCE)
- l’
- Une fois la validation réussie, l’Auth0 Authorization Server ajoute le compte au tableau
connected_accountsdu profil utilisateur et stocke les jetons d’accès et d’actualisation du compte connecté dans le Token Vault. - La My Account API termine le flux en renvoyant un code d’état
200à l’application cliente, indiquant que le compte a bien été connecté.
Prérequis
- Configurer Token Vault pour votre application client afin d’y stocker de façon sécuritaire les jetons d’accès et d’actualisation associés à chaque compte connecté.
- Configurer l’API My Account, que les utilisateurs authentifiés utilisent pour connecter et gérer leurs comptes.
- Configurer le Multi-Resource Refresh Token (MRRT) afin d’obtenir un jeton d’accès pour l’API My Account.
- (Facultatif) Configurer DPoP pour l’API My Account et votre application client afin de lier les jetons d’accès à l’émetteur, ce qui aide à prévenir le vol de jetons. Par défaut, l’API My Account peut accepter des jetons d’accès liés à DPoP.
Configurer My Account API
- Accédez à Applications > APIs et activez My Account API.
- Une fois l’API activée, sélectionnez Auth0 My Account API, puis l’onglet Application Access.
- Repérez votre application cliente et sélectionnez Edit pour configurer ses politiques d’accès de l’application.
- Sélectionnez User Access et, sous Authorization, sélectionnez Authorized.
- Pour les permissions, sélectionnez All pour toutes les portées de Connected Accounts de l’application.
- Sélectionnez Save. Cela crée un client grant qui permet à votre application cliente d’accéder à My Account API avec les portées de Connected Accounts au nom de l’utilisateur.
- Si vous utilisez Multi-Resource Refresh Token, accédez à l’onglet Settings. Sous Access Settings, sélectionnez Allow Skipping User Consent.
Configurer le Multi-Resource Refresh Token
- Auth0 Dashboard
- Management API
Pour configurer le MRRT dans l’Auth0 Dashboard :
- Accédez à Applications > Applications et sélectionnez votre application.
- Sous Multi-Resource Refresh Token, sélectionnez Edit Configuration.
- Pour activer le MRRT avec My Account API, activez la bascule My Account API.
Configurer les comptes connectés
- Accédez à Authentication > Social Connections ou Enterprise Connections, puis sélectionnez la connexion.
- Sélectionnez Applications, puis activez la connexion pour votre application cliente.
- Auth0 Dashboard
- Management API
Pour configurer les comptes connectés dans l’Auth0 Dashboard :
- Accédez à Authentication > Social Connections ou Enterprise Connections.
- Sélectionnez Create Connection ou une connexion existante.
- Dans Purpose, activez Connected Accounts for Token Vault. Selon le réglage Purpose, vous devrez peut-être activer
offline_accessdans l’Auth0 Dashboard pour permettre à l’application cliente d’obtenir un refresh token du fournisseur externe pendant le flux des comptes connectés. Pour en savoir plus, consultez Authentification de l’utilisateur vs comptes connectés. - Cliquez sur Save.
Obtenir un jeton d’accès pour Connected Accounts
Obtenir un jeton d’actualisation
offline_scope afin d’obtenir un jeton d’actualisation et un code d’autorisation à usage unique pour l’identifiant de l’API My Account API https://{yourDomain}/me/ :
/token :
Échanger un refresh token contre un jeton d’accès à l’API My Account
Lancer une requête Connected Accounts
POST au point de terminaison /me/v1/connected-accounts/connect de la My Account API avec les paramètres suivants :
Pour une connexion sociale Google, assurez-vous de sélectionner
offline_access dans Auth0 Dashboard lorsque vous configurez votre connexion. Cela est nécessaire pour que votre application cliente puisse récupérer un jeton d’actualisation auprès de l’Auth0 Authorization Server.connect_uri avec le ticket comme paramètre de requête. Sur l’écran de consentement, autorisez les portées demandées, puis extrayez et enregistrez le connect_code dans le fragment d’URL.
Terminer une requête Connected Accounts
POST au point de terminaison /me/v1/connected-accounts/complete avec les paramètres suivants :
Gérer les comptes connectés
/me/v1/connected-accounts.
Avant d’utiliser la collection /connected-accounts, obtenez un jeton d’accès pour les comptes connectés.
Interroger les connexions de Connected Accounts
GET au point de terminaison /me/v1/connected-accounts/connections pour obtenir la liste des connexions liées au profil utilisateur :
Lister les comptes connectés
GET au point de terminaison /me/v1/connected-accounts/accounts pour obtenir une liste des comptes connectés liés au profil utilisateur :
GET au point de terminaison /users/{userId}/connected-accounts :
Interroger les comptes connectés pour une connexion donnée
GET vers le point de terminaison /me/v1/connected-accounts/accounts et transmettez le nom de la connexion comme paramètre de requête afin de renvoyer une liste de comptes connectés filtrés selon une connexion donnée liée à un profil d’utilisateur :
google-oauth2 :
Supprimer un compte connecté
DELETE au point de terminaison /me/v1/connected-accounts/accounts/{connectedAccountId} pour supprimer le compte connecté correspondant à un ID donné :