Passer au contenu principal
Vous cherchez comment inviter des utilisateurs dans une organisation ? Consultez plutôt Inviter des membres de l’organisation.
Une façon de gérer les inscriptions à une application Auth0 consiste à utiliser des invitations d’utilisateurs. Dans un flux de travail type d’invitation d’utilisateurs, un administrateur d’application crée un nouveau compte utilisateur, puis envoie à l’utilisateur un courriel d’invitation contenant un lien d’activation. Lorsque l’utilisateur suit ce lien, il définit un mot de passe pour le compte et peut ensuite se connecter. Un système d’invitation d’utilisateurs peut être utile dans des cas d’utilisation comme la restriction des inscriptions ou la création de comptes en lot.

Mise en œuvre des invitations d’utilisateurs pour l’inscription à une application dans Auth0

Dans Auth0, vous pouvez mettre en œuvre des invitations d’utilisateurs à l’aide du flux de changement de mot de passe.
  • En personnalisant la page de réinitialisation du mot de passe de Universal Login ou de Classic Login pour qu’elle prenne aussi en charge une expérience d’invitation, vous pouvez utiliser un lien de changement de mot de passe comme invitation à un nouveau compte utilisateur.
  • En personnalisant de la même façon le modèle de courriel de changement de mot de passe, vous pouvez utiliser le flux de changement de mot de passe d’Auth0 pour générer le lien de changement de mot de passe et envoyer le courriel d’invitation à l’aide du fournisseur SMTP configuré de votre locataire.
Si vous disposez déjà d’une solution de courriel externe et ne souhaitez pas configurer de fournisseur SMTP pour votre locataire, vous pouvez plutôt utiliser la Management API pour générer le ticket de changement de mot de passe et envoyer vous-même par courriel le lien du ticket à l’utilisateur, au lieu d’utiliser le modèle de courriel et le flux de travail d’Auth0.
Cette mise en œuvre repose sur une propriété des métadonnées utilisateur (appelée user.app_metadata.needsInvitation dans ces instructions) qui indique qu’une invitation est en attente pour l’utilisateur : lorsqu’elle a la valeur true, l’utilisateur obtient l’expérience d’invitation; sinon, il obtient l’expérience habituelle de réinitialisation du mot de passe.

1. Personnaliser le modèle de courriel de changement de mot de passe

Commencez par personnaliser le modèle de courriel de changement de mot de passe (lien) afin de prendre en charge à la fois le processus d’invitation des utilisateurs et celui de changement de mot de passe. Utilisez Liquid pour vérifier si la propriété de métadonnées de l’utilisateur associée à une invitation en attente est définie et envoyer le message approprié. Par exemple :
{% if user.app_metadata.needsInvitation %}
    // Contenu du courriel d'invitation de l'utilisateur ici
{% else %}
    // Contenu du courriel de changement de mot de passe ici
{% endif %}
De plus, ajoutez un paramètre de requête au lien de réinitialisation du mot de passe dans le corps du message afin d’indiquer quelle interface l’utilisateur doit voir sur la page de réinitialisation du mot de passe. Par exemple, vous pouvez ajouter type=invite ou type=reset.

2. Personnaliser la page de réinitialisation du mot de passe

Selon le paramètre de requête défini dans le modèle, personnalisez la page de réinitialisation du mot de passe pour prendre en charge à la fois les flux d’invitation d’utilisateur et de changement de mot de passe. Pour obtenir des instructions sur Universal Login, consultez Personnaliser Universal Login. Pour obtenir des instructions sur Classic Login, consultez Personnaliser la page de réinitialisation du mot de passe.

3. Créer une Action post-connexion pour désactiver la propriété d’invitation

Une fois que l’utilisateur a défini son mot de passe et s’est connecté pour la première fois, il n’a plus besoin d’invitation et devrait, par la suite, recevoir l’expérience de changement de mot de passe. Pour ce faire, créez une Action post-connexion qui définit user.app_metadata.needsInvitation sur false :
exports.onExecutePostLogin = async (event, api) => {
    if (event.user.app_metadata.needsInvitation) {
        api.user.setAppMetadata("needsInvitation", false);
    }
};

4. Envoyer des invitations d’utilisateur

Pour envoyer une invitation à un utilisateur, créez un nouvel utilisateur de base de données Auth0 à partir de l’Auth0 Dashboard ou à l’aide du point de terminaison Create a User de la Management API, puis :
  • Définissez le paramètre user.email_verified sur false.
  • Définissez user.app_metadata.needsInvitation sur true.
Ensuite, appelez le point de terminaison Change password de l’Authentication API pour envoyer le courriel d’invitation à l’utilisateur.

Pour en savoir plus

Pour déterminer où l’utilisateur est redirigé après avoir défini son mot de passe : Pour en savoir plus sur la configuration des courriels, consultez :