Passer au contenu principal
Le script Change Email exécute la fonction définie lorsque l’adresse courriel d’un utilisateur ou l’état de vérification de cette adresse change. Nous recommandons de nommer cette fonction changeEmail. Ce script est utilisé uniquement dans un scénario d’authentification hérité et il est requis si vous voulez mettre à jour l’adresse courriel d’un utilisateur (et/ou l’état de vérification de son adresse courriel) dans Auth0 et dans votre base de données externe dans le cadre d’une même opération. Le script Change Email ne peut pas être configuré dans le . Pour gérer ce script, vous devez utiliser les points de terminaison Create a connection ou Update a connection de la d’Auth0, ou Auth0 Deploy CLI.
Si vous gérez les scripts d’action de base de données d’une connexion de base de données personnalisée dans l’Auth0 Dashboard, le script Change Email sera automatiquement supprimé à l’enregistrement.Pour éviter que le script Change Email soit supprimé accidentellement, utilisez la Management API d’Auth0 ou Auth0 Deploy CLI pour gérer la connexion.Si vous modifiez manuellement le courriel d’un utilisateur dans votre base de données personnalisée, vous devez aussi mettre à jour l’utilisateur séparément; Auth0 ne détectera pas automatiquement ce changement.

Fonction ChangeEmail

La fonction changeEmail doit :
  • Mettre à jour l’adresse courriel de l’utilisateur dans la base de données externe.
  • Renvoyer une erreur si l’opération a échoué ou si une erreur s’est produite.

Définition

La fonction changeEmail accepte quatre paramètres et renvoie une fonction callback :
changeEmail(email, newEmail, verified, callback): function
ParamètreTypeDescription
emailStringAdresse de courriel actuelle de l’utilisateur.
newEmailStringValeur à définir comme nouvelle adresse de courriel de l’utilisateur dans la base de données externe.
verifiedBooleanÉtat de vérification de la nouvelle adresse de courriel.
callbackFunctionUtilisée pour transmettre les données d’erreur dans le pipeline.

Exemple

Voici un exemple en pseudo-JavaScript montrant comment vous pourriez implémenter la fonction changeEmail :
function (email, newEmail, verified, callback) {
  // Préparer l'appel API
  let options = {
    url: "https://example.com/api/users",
    action: "PATCH",
    body: {
      email: email,
      new_email: newEmail,
      email_verified: verified
    }
  };

  // Appeler l'API
  send(options, err => {
    // Retourner la valeur `false` dans le callback si l'opération a échoué
    if (err && err.id == "FAIL_CHANGE_EMAIL") {
      return callback(null, false);
    } else if (err) {
      // Retourner une erreur dans le callback si une erreur non spécifiée s'est produite
      return callback(new Error("My custom error message."));
    }

    // Retourner la valeur `true` dans le callback si l'opération a réussi
    return callback(null, true);
  });
}

Fonction callback

La fonction callback prend deux paramètres et renvoie une fonction.

Définition

callback(error, operationResult): function
ParamètreTypeObligatoireDescription
errorObjectObligatoireContient les informations sur l’erreur.
operationResultBooleanFacultatifIndique le résultat de l’opération de changement de courriel.

Renvoyer un succès

Si l’opération de changement de courriel a réussi, renvoyez la fonction callback en lui passant une valeur null pour le paramètre error et une valeur true pour le paramètre operationResult :
return callback(null, true);

Indiquer un échec

Si l’opération de changement de courriel a échoué, appelez la fonction callback et transmettez la valeur null pour le paramètre error ainsi que la valeur false pour le paramètre operationResult :
return callback(null, false);

Renvoyer une erreur

Si une erreur s’est produite, renvoyez la fonction callback et transmettez les renseignements pertinents sur l’erreur dans le paramètre error :
return callback(new Error("My custom error message."));

En savoir plus