Passer au contenu principal
Ce guide vous montrera comment créer et déployer votre première Action à l’aide du . À la fin, vous devriez comprendre les fonctionnalités de base que vous utiliserez avec toutes les Actions et bien connaître le modèle de programmation. Ce que vous apprendrez constitue la base nécessaire pour rédiger n’importe quelle Action, quel que soit son objectif ou le flux.

L’objectif : notifier Slack lors de la connexion d’un utilisateur

Vous allez créer une Action qui envoie un message à un canal Slack lorsqu’un utilisateur se connecte. Même si ce tutoriel utilise le déclencheur Post Login, les renseignements fournis ici s’appliquent à des déclencheurs de tout type. Pour effectuer cette tâche, vous ferez ce qui suit :

Prérequis

Comme cette Action enverra des messages dans un canal Slack, vous devez créer un webhook entrant pour un espace de travail Slack. Une fois que vous avez l’URL du webhook Slack, vous pouvez poursuivre ce guide.

Créer une Action

Pour utiliser une Action dans un flux donné, vous devez d’abord créer l’Action, puis l’ajouter à un flux.
  1. Accédez à Auth0 Dashboard > Actions > Bibliothèque, puis sélectionnez Créer une Action > Créer à partir de zéro.
  2. Saisissez un Nom et sélectionnez le déclencheur Login / Post Login, puisque vous ajouterez une Action au flux de connexion, puis sélectionnez Créer.
L’éditeur de code des Actions s’affiche :
Éditeur de code des Actions

Créer une Action à partir d’un modèle

La galerie de modèles d’Actions propose divers modèles de départ pour vous aider à créer une Action. Pour créer une Action à partir d’un modèle :
  1. Accédez à Auth0 Dashboard > Actions > bibliothèque, puis sélectionnez Create Action.
  2. Sélectionnez Choose from template.
  3. Sélectionnez le modèle que vous souhaitez utiliser pour créer une Action.
  4. Vous devriez maintenant voir un aperçu en lecture seule du code du modèle. Pour continuer, sélectionnez Use this template.
  5. Entrez un nom, puis sélectionnez Create.

Ajouter un secret

Chaque Action peut contenir des Secrets, ce qui convient au stockage d’informations sensibles, comme les et les clés d’API. Enregistrez l’URL du webhook Slack comme Secret.
  1. Sélectionnez l’icône de clé dans la barre latérale gauche de l’éditeur de code.
  2. Sélectionnez Ajouter un secret.
  3. Donnez au Secret le nom suivant : SLACK_WEBHOOK_URL.
  4. Collez l’URL du webhook fournie par Slack, puis sélectionnez Créer.
Vous verrez que le Secret a été ajouté à l’Action, et vous pourrez utiliser ce nouveau secret grâce à l’autocomplétion intelligente en tapant event.secrets.
Éditeur de code Actions - Votre secret a été ajouté dans la section Secrets.
Une fois un Secret créé, sa valeur ne sera plus jamais affichée. Auth0 chiffre tous les Secrets et les stocke en toute sécurité.

Ajouter une dépendance

Vous utiliserez le package @slack/webhook npm pour faciliter l’envoi d’un message dans Slack. Vous pouvez utiliser presque n’importe quel package npm public dans une Action, à condition qu’il puisse être installé sans recourir à des modules complémentaires natifs. Pour ajouter la dépendance :
  1. Sélectionnez l’icône Dependency (icône en forme de cube) dans la barre latérale.
  2. Dans nom, entrez @slack/webhook. Par défaut, votre Action utilisera la version la plus récente de la dépendance au moment de son ajout.
  3. Sélectionnez Create; la dépendance devrait être ajoutée à l’Action :
    Éditeur de code Actions : votre dépendance a été ajoutée.
Lorsque vous enregistrez cette Action, la version la plus récente de votre dépendance est résolue et remplacée par un numéro de version précis afin d’éviter que de futures mises à jour du package ne nuisent au fonctionnement de votre Action.

Enregistrer le brouillon

Sélectionnez Enregistrer le brouillon. Votre Action est enregistrée, mais elle ne sera pas encore exécutée dans un flux utilisateur. Avec Actions, vous pouvez créer, modifier et tester des Actions avant qu’elles n’aient un effet sur le trafic de votre locataire Auth0. Une fois que le comportement de l’Action vous convient, vous la déploierez et l’ajouterez à un Flow plus tard.

Ajouter une logique personnalisée

Maintenant que l’Action a été configurée avec un Secret et une dépendance, écrivons du code ! Chaque Action dispose d’un objet event qui contient des informations contextuelles en lecture seule pertinentes pour le déclencheur associé. Si vous commencez à taper event. dans l’éditeur, toutes les propriétés disponibles de l’événement devraient s’afficher. Pour en savoir plus sur les informations disponibles pour chaque déclencheur, consultez Explorer les flux et les déclencheurs. Utilisons notre Action pour envoyer une notification à Slack. Ajoutez ce code à votre Action :
const { IncomingWebhook } = require('@slack/webhook');

exports.onExecutePostLogin = async (event, api) => {
    const url = event.secrets.SLACK_WEBHOOK_URL;
    const webhook = new IncomingWebhook(url);

    // Envoyer la notification
    await webhook.send({ text: "Logging In..." });
};
Sélectionnez Enregistrer le brouillon pour sauvegarder votre Action.

Tester l’Action

Avant d’exécuter cette Action dans votre locataire avec du trafic réel d’utilisateurs, testez-la pour vous assurer qu’elle fonctionne comme prévu.
  1. Sélectionnez l’icône Test (triangle) dans la barre latérale. Dans la section Payload, vous verrez des données JSON modifiables liées au déclencheur que vous avez sélectionné lors de la création de l’Action.
    Éditeur de code Actions : panneau Test Runner
  2. Sélectionnez le bouton Run, et vous devriez voir un message s’afficher dans votre canal Slack.

Déployer l’Action

Maintenant que l’Action fonctionne comme prévu, il est temps de la déployer. Sélectionnez Deploy. Le déploiement d’une Action capture un instantané de l’Action à ce moment précis et l’enregistre comme une version d’Action. Sélectionnez Version History; vous devriez voir l’Action enregistrée comme version 1 :
Actions : Historique des versions
Vous pouvez maintenant modifier votre Action et l’enregistrer sans affecter la version 1 de votre Action. Auth0 n’exécute que la version actuellement déployée d’une Action. Ainsi, tant que vous ne redéployez pas l’Action, c’est la version 1 qui sera exécutée par Auth0.

Associer l’Action à un Flow

La dernière étape pour configurer une nouvelle Action afin qu’elle s’exécute dans le trafic de votre locataire consiste à l’associer à un Flow.
  1. Accédez à Auth0 Dashboard > Actions > Flows pour afficher la liste des Flows disponibles :
  2. Sélectionnez le flux de connexion et faites glisser my-slack-action dans le Flow.
    Actions Flows : flux de connexion
  3. Sélectionnez Appliquer.
L’Action s’exécute maintenant sur du trafic utilisateur réel dans votre locataire. Si vous souhaitez disposer d’un environnement de test plus robuste, envisagez de configurer plusieurs environnements Auth0.

Consulter les Actions dans les journaux du locataire

Maintenant que votre Action s’exécute dans le flux de connexion, Auth0 consigne des informations sur chaque exécution d’Action dans les journaux du locataire. Pour les afficher, accédez à Auth0 Dashboard > Monitoring > Logs, puis sélectionnez un événement Successful Login. Vous devriez voir une vue Action Details qui contient des informations sur toutes les Actions exécutées dans le cadre de ce flux.
Journaux du locataire : vue Action Details

Prochaines étapes

Maintenant que vous avez créé votre première Action, consultez Explorer les flux et les déclencheurs pour découvrir comment effectuer certaines tâches courantes avec Actions.