Passer au contenu principal
Utilisez le d’Auth0, plus précisément le point de terminaison Dissocier un compte d’utilisateur, ou la bibliothèque Auth0.js, pour dissocier une identité du compte utilisateur cible afin qu’elle redevienne un compte utilisateur distinct. Le résultat du processus de dissociation est le suivant :
  • Le compte secondaire est retiré du tableau identities du compte principal.
  • Un nouveau compte utilisateur secondaire est créé.
  • Le compte secondaire n’aura aucune métadonnée.
Si votre objectif est de supprimer entièrement l’identité secondaire, vous devez d’abord dissocier les comptes, puis supprimer le compte secondaire nouvellement créé. Selon l’emplacement à partir duquel vous appelez le point de terminaison, utilisez l’un de ces deux scopes : Le point de terminaison utilise les paramètres suivants :
ParamètreTypeDescription
idstringID du compte utilisateur principal (obligatoire)
providerstringnom du fournisseur d’identité du compte secondaire lié (par ex. google-oauth2)
user_idstringID du compte secondaire lié (par ex. la partie 123456789081523216417 après le `
Si votre instance contient des utilisateurs provenant de plusieurs fournisseurs, vous pouvez aussi inclure [connection_name]| avant la chaîne user_id pour préciser le fournisseur (par exemple, "user-id": "google-oauth2|123456789081523216417").

Exemple de réponse

[
  {
    "connection": "Initial-Connection",
    "user_id": "5457edea1b8f22891a000004",
    "provider": "auth0",
    "isSocial": false,
    "access_token": "",
    "profileData": {
      "email": "",
      "email_verified": false,
      "name": "",
      "username": "johndoe",
      "given_name": "",
      "phone_number": "",
      "phone_verified": false,
      "family_name": ""
    }
  }
]

Utiliser le JWT du compte principal

Pour délier des comptes, appelez le point de terminaison Dissocier un compte utilisateur de la Management API en utilisant le du compte principal pour autoriser la requête :

Utiliser un jeton d’accès avec le scope update:users

Si vous devez dissocier au moins deux comptes d’utilisateur, appelez le point de terminaison Dissocier un compte d’utilisateur du Management API à l’aide d’un jeton d’accès de la Management API avec le scope update:users.
function unlinkAccount(secondaryProvider, secondaryUserId) {
  var primaryUserId = localStorage.getItem('user_id');
  var primaryAccessToken = localStorage.getItem('access_token');

  // Utilise le jeton d'accès de l'utilisateur principal comme bearer token pour identifier le compte
  // duquel le compte secondaire sera dissocié, ainsi que l'ID utilisateur de l'utilisateur secondaire,
  // pour identifier l'utilisateur qui sera dissocié du compte principal.

  $.ajax({
    type: 'DELETE',
    url: 'https://' + AUTH0_DOMAIN +'/api/v2/users/' + primaryUserId +
         '/identities/' + secondaryProvider + '/' + secondaryUserId,
    headers: {
      'Authorization': 'Bearer ' + primaryAccessToken
    }
  }).then(function(identities){
    alert('unlinked!');
    showLinkedAccounts(identities);
  }).fail(function(jqXHR){
    alert('Error unlinking Accounts: ' + jqXHR.status + ' ' + jqXHR.responseText);
  });
}
  1. Mettez à jour l’utilisateur dans la session avec le nouveau tableau d’identités (chacune représentant un compte utilisateur distinct).
const ensureLoggedIn = require('connect-ensure-login').ensureLoggedIn();
const Auth0Client = require('../Auth0Client');
const express = require('express');
const router = express.Router();
...
router.post('/unlink-accounts/:targetUserProvider/:targetUserId',ensureLoggedIn, (req,res,next) => {
  Auth0Client.unlinkAccounts(req.user.id, req.params.targetUserProvider, req.params.targetUserId)
  .then( identities => {
    req.user.identities = req.user._json.identities = identities;
    res.send(identities);
  })
  .catch( err => {
    console.log('Error unlinking accounts!',err);
    next(err);
  });
});
  1. Appelez le point de terminaison Dissocier un compte d’utilisateur de la Management API v2 à l’aide d’un jeton d’accès de la Management API ayant le scope update:users.

En savoir plus