Skip to main content

La disponibilité varie selon votre plan Auth0

La disponibilité de cette fonctionnalité dépend à la fois de votre mise en œuvre de connexion et de votre plan Auth0 ou de votre entente personnalisée. Pour en savoir plus, consultez Tarification.
Vous pouvez lier des comptes d’utilisateur de différentes façons :
  • Action avec application externe de liaison
  • Auth0
  • bibliothèque auth0.js

Action avec une application externe de liaison

Vous pouvez utiliser une Action avec une application externe de liaison pour lier des comptes d’utilisateur au moyen de la Management API.
Auth0 ne passe pas automatiquement au bon utilisateur principal après la liaison de comptes; ce changement doit donc être effectué dans le code Actions après une liaison de comptes réussie.Chaque liaison manuelle de comptes devrait inviter l’utilisateur à saisir ses identifiants. Votre tenant devrait exiger l’authentification des deux comptes avant que la liaison ait lieu afin d’éviter que des acteurs malveillants accèdent à des comptes d’utilisateur légitimes.
Les étapes suivantes illustrent un exemple de mise en œuvre :
  1. L’Action identifie les comptes d’utilisateur potentiellement à lier (s’ils existent).
  2. L’Action redirige l’utilisateur vers une application externe de liaison avec une charge utile de jeton contenant des identités d’utilisateur candidates :
  3. L’application externe de liaison invite l’utilisateur à s’authentifier à l’aide des identifiants du compte qu’il souhaite lier.
  4. L’application externe de liaison redirige l’utilisateur vers l’Action avec une charge utile de jeton contenant les identités d’utilisateur principale et secondaire :
  5. L’Action valide l’authenticité et le contenu du jeton.
  6. L’Action envoie une requête à la Management API pour lier les comptes selon les résultats de l’application externe de liaison.
  7. L’Action passe à l’utilisateur principal s’il ne correspond pas à event.user.user_id.

Exemple : Action de liaison de comptes

Management API

Vous pouvez utiliser le endpoint Lier un compte d’utilisateur de la Management API de deux façons :
  • Liaison de comptes côté client initiée par l’utilisateur à l’aide de avec la portée update:current_user_identities.
  • Liaison de comptes côté serveur à l’aide de jetons d’accès avec la portée update:users.

Liaison de comptes côté client initiée par l’utilisateur

Pour la liaison de comptes côté client initiée par l’utilisateur, il vous faut un jeton d’accès qui contient les éléments suivants dans la charge utile :
  • la portée update:current_user_identites
  • le user_id du compte principal dans l’URL
  • du compte secondaire, signé avec RS256 et comportant une revendication aud qui identifie le client et correspond à la valeur de la revendication azp du jeton d’accès utilisé pour la demande.
Un jeton d’accès qui contient la portée update:current_user_identities ne peut être utilisé que pour mettre à jour les renseignements de l’utilisateur actuellement connecté. Cette méthode convient donc aux scénarios où l’utilisateur lance le processus de liaison.

Liaison de comptes côté serveur

Pour la liaison de comptes côté serveur, vous avez besoin d’un jeton d’accès qui contient les éléments suivants dans la charge utile :
  • portée update:users
  • user_id du compte principal dans l’URL
  • user_id du compte secondaire
  • jeton d’identité du compte secondaire signé avec RS256 et comprenant une revendication aud qui identifie le client et dont la valeur correspond à celle de la revendication azp du jeton d’accès à l’origine de la requête.
Les jetons d’accès qui contiennent la portée update:users peuvent servir à mettre à jour les renseignements de n’importe quel utilisateur. Par conséquent, cette méthode est réservée au code côté serveur. Le user_id et le provider du compte d’utilisateur secondaire peuvent être déduits à partir de son identifiant unique. Par exemple, pour l’identifiant google-oauth2|108091299999329986433 :
  • provider est google-oauth2
  • user_id est 108091299999329986433
Vous pouvez aussi envoyer le jeton d’identité du compte secondaire au lieu du provider et du user_id :

Bibliothèque Auth0.js

Vous pouvez utiliser la bibliothèque Auth0.js pour effectuer la liaison de comptes côté client. Consultez Référence Auth0.js > Gestion des utilisateurs pour en savoir plus.

En savoir plus