Skip to main content
このガイドでは、を使って、初めてのActionを作成し、デプロイする方法を順を追って説明します。読み終える頃には、すべてのActionsで使用する基本的な機能を理解し、プログラミングモデルにも慣れているはずです。ここで学ぶ内容は、目的やフローにかかわらず、あらゆるActionを作成するための基礎となります。

目標: ユーザーログイン時に Slack に通知する

ユーザーがログインしたときに Slack チャンネルにメッセージを送信する Action を作成します。このチュートリアルでは Post Login トリガー を使用しますが、ここで紹介する内容は、どの種類の トリガー でも役立ちます。 このタスクを実行するには、次の手順を行います。

前提条件

このActionはSlackチャンネルにメッセージを送信するため、Slackワークスペース用のIncoming Webhookを作成する必要があります。Slack Webhook URL を取得したら、このガイドの手順に進んでください。

Action を作成する

特定のフローで Action を動作させるには、Action を作成してからそのフローに追加する必要があります。
  1. Auth0 Dashboard > Actions > Library, に移動し、Create Action > Build from scratch を選択します。
  2. Name を入力し、Action を ログインフロー に追加するため、Login / Post Login トリガー を選択して、Create をクリックします。
Actions Code Editor が表示されます。
Actions Code Editor

テンプレートからActionを作成する

Actions のテンプレートギャラリーには、Action の作成を始める際に利用できるさまざまなスターターテンプレートが用意されています。テンプレートから Action を作成するには、次の手順に従います。
  1. Auth0 Dashboard > Actions > Library に移動し、Create Action を選択します。
  2. Choose from template を選択します。
  3. Action の作成に使用するテンプレートを選択します。
  4. テンプレート内のコードの読み取り専用プレビューが表示されます。続行するには、Use this template を選択します。
  5. 名前を入力し、Create を選択します。

シークレットを追加する

各 Action にはシークレット値を含めることができ、や API キーなどの機密情報を保持するのに適しています。Slack の Webhook URL をシークレットとして保存しましょう。
  1. コードエディターの左側のサイドバーにある鍵アイコンを選択します
  2. Add Secret を選択します。
  3. シークレットに SLACK_WEBHOOK_URL という名前を付けます。
  4. Slack から提供された Webhook URL を貼り付け、Create を選択します。
これでシークレットが Action に追加され、event.secrets と入力するとコード補完で新しいシークレットを利用できるようになります。
Actions Code Editor - Secrets セクションにシークレットが追加されました。
シークレットは一度作成すると、その値が再度表示されることはありません。Auth0 はすべてのシークレットを暗号化し、安全に保存します。

依存関係を追加する

Slack にメッセージを簡単に送信するために、@slack/webhook npm パッケージを使用します。ネイティブアドオンに依存せずインストールできるものであれば、Action ではほぼすべての公開 npm パッケージを利用できます。 依存関係を追加するには、次の手順に従います。
  1. サイドバーで Dependency アイコン (キューブのアイコン) を選択します。
  2. Name@slack/webhook と入力します。 デフォルトでは、Action は依存関係を追加した時点での最新バージョンを使用します。
  3. Create を選択すると、依存関係が Action に追加されます。
    Actions Code Editor: 依存関係が追加されました。
この Action を保存すると、依存関係の最新バージョンが解決され、以後のパッケージ更新によって Action が壊れないよう、特定のバージョン番号に置き換えられます。

下書きを保存

Save Draft を選択します。Action は保存されますが、まだどのユーザーフローでも実行されません。Actions を使うと、Auth0 テナントのトラフィックに影響が及ぶ前に、Actions を作成、編集、テストできます。Action の動作に問題がなければ、後でその Action をデプロイして フロー に追加します。

カスタムロジックを追加

Action に Secret と依存関係を設定したので、次はコードを書いてみましょう。 すべての Action には、関連する トリガー に応じた読み取り専用のコンテキスト情報を含む event オブジェクトがあります。Editor で event. と入力し始めると、event で利用できるすべてのプロパティが表示されます。各 トリガー で利用できる情報について詳しくは、Explore Flows and Triggers を参照してください。 では、Action を使って Slack に通知してみましょう。次のコードを Action に追加してください。
Save Draft を選択して、Action を下書き保存します。

Action をテストする

実際のユーザートラフィックでこの Action をテナント内で実行する前に、想定どおりに動作することを確認するため、テストを行います。
  1. サイドバーの Test (三角形) アイコンを選択します。Payload セクションには、Action の作成時に選択したトリガーに関連する、編集可能な JSON データが表示されます。
    Actions Code Editor: Test Runner panel
  2. Run ボタンを選択すると、Slack チャンネルにメッセージが表示されます。

Actionをデプロイする

Actionが期待どおりに動作することを確認できたので、次はこれをデプロイします。 Deploy を選択します。Actionをデプロイすると、その時点のActionのスナップショットが作成され、Action Version として記録されます。 Version History を選択すると、Actionがバージョン1として記録されているはずです。
Actions: Version History
これで、Actionのバージョン1に影響を与えることなく、Actionを自由に更新して保存できます。Auth0が実行するのは現在デプロイ済みのActionのバージョンだけなので、Actionを再度デプロイするまでは、Auth0はバージョン1を実行します。

フロー に Action を追加する

新しい Action を設定し、テナントの実際のトラフィックの一部として実行されるようにする最後のステップは、その Action を フロー に追加することです。
  1. 利用可能な フロー の一覧を表示するには、Auth0 Dashboard > Actions > Flows に移動します。
  2. ログインフロー を選択し、my-slack-action を フロー にドラッグします。
    Actions Flows: Login Flow
  3. Apply を選択します。
これで、この Action はテナント内の実際のユーザートラフィックに対して実行されるようになります。より本格的なテスト環境が必要な場合は、複数の Auth0 環境を設定することを検討してください。

テナントログで Actions を確認する

Action がログインフローの一部として実行されるようになったので、Auth0 は各 Action の実行情報をテナントログに記録します。これを確認するには、Auth0 Dashboard > Monitoring > Logs に移動し、Successful Login イベントを選択します。 そのフローの一部として実行された Actions の情報を含む Action Details ビューが表示されます。
テナントログ: Action Details ビュー

次のステップ

最初の Action を作成したら、Flows と Triggers を確認するを参照して、Actions でよくあるタスクを実行する方法を学びましょう。