Saltar al contenido principal
El script Change Email implementa la función definida cuando cambia la dirección de correo electrónico de un usuario o el estado de verificación de esa dirección. Recomendamos llamar a esta función changeEmail. Este script solo se usa en un escenario de autenticación heredado y es necesario si desea actualizar la dirección de correo electrónico de un usuario (y/o el estado de verificación de su dirección de correo electrónico) en Auth0 y en su base de datos externa en la misma operación. El script Change Email no se puede configurar desde el . Para administrar este script, debe usar el endpoint Create a connection o Update a connection de la Auth0 , o Auth0 Deploy CLI.
Si administra los scripts de acción de base de datos de una conexión de base de datos personalizada desde el Auth0 Dashboard, el script Change Email se eliminará automáticamente al guardar.Para evitar que el script Change Email se elimine accidentalmente, use la Auth0 Management API o Auth0 Deploy CLI al administrar la conexión.Si cambia manualmente el correo electrónico de un usuario en su base de datos personalizada, debe actualizar el usuario por separado; Auth0 no detectará automáticamente el cambio.

Función ChangeEmail

La función changeEmail debe:
  • Actualizar la dirección de correo electrónico del usuario en la base de datos externa.
  • Devolver un error si la operación falla o si se produce algún error.

Definición

La función changeEmail recibe cuatro parámetros y devuelve una función callback:
changeEmail(email, newEmail, verified, callback): function
ParámetroTipoDescripción
emailStringDirección de correo electrónico actual del usuario.
newEmailStringValor que se establecerá como la nueva dirección de correo electrónico del usuario en la base de datos externa.
verifiedBooleanEstado de verificación de la nueva dirección de correo electrónico.
callbackFunctionSe usa para pasar datos de error a través del flujo.

Ejemplo

Este es un ejemplo en seudojavaScript de cómo podría implementar la función changeEmail:
function (email, newEmail, verified, callback) {
  // Preparar la llamada a la API
  let options = {
    url: "https://example.com/api/users",
    action: "PATCH",
    body: {
      email: email,
      new_email: newEmail,
      email_verified: verified
    }
  };

  // Llamar a la API
  send(options, err => {
    // Devolver el valor `false` en el callback si la operación falló
    if (err && err.id == "FAIL_CHANGE_EMAIL") {
      return callback(null, false);
    } else if (err) {
      // Devolver error en el callback si ocurrió un error no especificado
      return callback(new Error("My custom error message."));
    }

    // Devolver el valor `true` en el callback si la operación se realizó correctamente
    return callback(null, true);
  });
}

Función callback

La función callback acepta dos parámetros y devuelve una función.

Definición

callback(error, operationResult): function
ParámetroTipoObligatorioDescripción
errorObjectObligatorioContiene los datos del error.
operationResultBooleanOpcionalIndica el resultado de la operación de cambio de correo electrónico.

Devuelve un resultado correcto

Si la operación de cambio de correo electrónico se realizó correctamente, devuelve la función callback y pasa un valor null como parámetro error y un valor true como parámetro operationResult:
return callback(null, true);

Devolver un error

Si se produce un error en la operación de cambio de correo electrónico, devuelve la función callback y pasa null como valor del parámetro error y false como valor del parámetro operationResult:
return callback(null, false);

Devolver un error

Si se produjo un error, devuelva la función callback y pase la información relevante del error en el parámetro error:
return callback(new Error("My custom error message."));

Más información