Saltar al contenido principal
Use el endpoint de Auth0 Desvincular una cuenta de usuario o la biblioteca Auth0.js para desvincular una identidad de la cuenta de usuario de destino, de modo que vuelva a ser una cuenta de usuario independiente. El resultado del proceso de desvinculación es el siguiente:
  • La cuenta secundaria se elimina del array identities de la cuenta principal.
  • Se crea una nueva cuenta de usuario secundaria.
  • La cuenta secundaria no tendrá metadatos.
Si su objetivo es eliminar por completo la identidad secundaria, primero debe desvincular las cuentas y luego eliminar la cuenta secundaria recién creada. Según desde dónde llame al endpoint, use uno de estos dos alcances: El endpoint usa los siguientes parámetros:
ParámetroTipoDescripción
idstringID de la cuenta de usuario principal (obligatorio)
providerstringnombre del proveedor de identidad de la cuenta secundaria vinculada (p. ej., google-oauth2)
user_idstringID de la cuenta secundaria vinculada (p. ej., 123456789081523216417 parte después de `
Si su instancia tiene usuarios de varios proveedores, también puede incluir [connection_name]| antes de la cadena user_id para indicar el proveedor (por ejemplo, "user-id": "google-oauth2|123456789081523216417").

Ejemplo de respuesta

[
  {
    "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": ""
    }
  }
]

Usa el JWT de la cuenta principal

Para desvincular cuentas, llama al endpoint desvincular una cuenta de usuario del Management API usando el de la cuenta principal para la autorización:

Use un token de acceso con el scope update:users

Si necesita desvincular dos o más cuentas de usuario, llame al endpoint Desvincular una cuenta de usuario de Management API con un token de acceso de Management API que tenga el scope update:users.
function unlinkAccount(secondaryProvider, secondaryUserId) {
  var primaryUserId = localStorage.getItem('user_id');
  var primaryAccessToken = localStorage.getItem('access_token');

  // Usa el token de acceso del usuario principal como bearer token para identificar la cuenta
  // de la que se desvinculará la cuenta, y el user id del usuario secundario, para identificar
  // al usuario que será desvinculado de la cuenta 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. Actualice el usuario de la sesión con la nueva matriz de identidades (cada una de las cuales representa una cuenta de usuario distinta).
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. Llame al endpoint para desvincular una cuenta de usuario de Management API v2 con un Token de acceso de Management API con el scope update:users.

Más información