メインコンテンツへスキップ
実装の進捗に応じて、Auth0 Actions をテストおよびデバッグするための方法がいくつかあります。 各 Action は、実装しながら から個別にテストすることをお勧めします。準備が整ったら、Auth0 Dashboard のテナントログを使用して、エンドツーエンドのフローが想定どおりに動作することを確認してください。

個々のActionをテストする

個々のActionは、Actions Code Editor を使用してテストできます。エディターのテスト機能では、Action に関連付けられているフローに基づくサンプルペイロードを使用して、Action の呼び出しをシミュレートします。個々のActionをテストするには、次の手順を実行します。
  1. Auth0 Dashboard > Actions に移動し、編集するフローとActionを選択します。
  2. Actions Code Editor を開き、サイドバーから Test (再生アイコン) を選択します。Test サイドバーでペイロードを編集して、異なるペイロードでの結果を確認します。
  3. Run を選択します。
テスト結果には、Action が実行したステップ、コンソール出力、発生したエラー、Action の実行に関する有用な統計情報が表示されます。
Action Code Editor 内のテストモジュールのスクリーンショット
Management API の Test an Action エンドポイントを使用して、Action に関連付けられているフローに対応するペイロードを指定し、Action をテストすることもできます。サンプルペイロードを取得するには、Actions Code Editor のテスト機能を使用して Action をテストしてください。

デプロイ済みの Actions をデバッグする

Action のテストが完了したら、次はそれをデプロイして実行状況を確認します。Action をすでにデプロイし、フローに追加している場合は (Actions をフローにアタッチする方法については、Write Your First Action の「Attach the Action to a flow」セクションを参照してください) 、いくつかの手順で本番稼働中の Action をデバッグできます。

エンドツーエンドのログインフローを検証する

post-login Action の場合、テナントでログインを試行することで、エンドツーエンドのログインフローを検証できます。
  1. Auth0 Dashboard > Authentication > Authentication Profile に移動し、Try を選択します。サンプルログインを含むウィンドウが開きます。
  2. ログインフローを進めます。ログインフローの中で、設定済みの Actions が実行されます。
完了すると、アプリケーションが受け取るユーザープロファイル属性の一覧が表示されたページ、または問題の内容を説明するエラーメッセージが表示されたページにリダイレクトされます。

テナントログを分析する

フローに関連付けられた Action がバインドされているトリガーが実行されるたびに、テナントログに Action の実行詳細が記録されます。 テナントログの一覧では、Actions に関連するログを確認し、それらを表示できます。以下の例では、Success Login のログタイプが、このテナントの post-login トリガー上の Action に関連付けられています。
Action の実行に関連するログを示す、Auth0 Dashboard のテナントログ一覧のスクリーンショット。
Actions に関連付けられるログタイプの例を以下に示します。
名前トリガー
Success Loginpost-login
Failed Loginpost-login
Success Exchangepost-login
Failed Exchangepost-login
Success Change Passwordpost-change-password
Failed Change Passwordpost-change-password
Successful Signuppre-user-registration
Failed Signuppre-user-registration
Success Exchangecredentials-exchange
Failed Exchangecredentials-exchange
Action の詳細な実行情報を表示するには、Action の実行に関連付けられたログを選択し、Action Details ビューを選択します。Action Details では、実行統計、コンソール出力、発生したエラーを確認できます。
Actions のテストに関連する個別ログのスクリーンショット。

Actions の単体テスト

​Action 関数に渡される event と api をモックすることで、Auth0 Actions を単体テストできます。Actions はバージョン管理下またはローカルディレクトリで管理でき、Jest などのツールを使用して自動的にテストできます。次の例では、Login / Post Login トリガーと Jest を使用して、モックとテストの方法を示します。 Action のコード:
// action.js

exports.onExecutePostLogin = async (event, api) => {
  const namespace = "https://my-app.example.com";
  if (event.authorization) {
    api.idToken.setCustomClaim(`${namespace}/favorite_color`, "pink");
  }
};
テストファイルのコード:
// action.spec.js

const { onExecutePostLogin } = require("./action.js");
test("sets favorite_color ID token claim to pink", async () => {
  const namespace = "https://my-app.example.com";
  const mockFunction = jest.fn();
  const mockApi = { idToken: { setCustomClaim: mockFunction } };
  const mockEvent = {authorization: {}};

  await onExecutePostLogin(mockEvent, mockApi);
  expect(mockFunction).toBeCalledWith(
    `${namespace}/favorite_color`,
    "pink"
  );
});

ベストプラクティス

Auth0 で Actions を構築する際は、環境ごとに専用の Auth0 テナントを作成することを推奨します。これにより、本番環境のユーザー基盤を他の環境から分離できるほか、環境ごとに異なる管理者を設定できます (たとえば、エンジニアには本番環境の設定へのアクセス権を付与しないようにできます) 。
CLI または CI/CD パイプラインを使用して Actions の管理、テスト、デプロイをすべて行う場合は、Deploy CLI Tool を使用できます。