Skip to main content
Rules と Hooks のサポート終了 (EOL) 日は 2026年11月18日 です。また、2023年10月16日 以降に作成された新規テナントでは、これらはすでに利用できません。Hooks が有効な既存のテナントでは、サポート終了日まで Hooks へのアクセスが維持されます。Auth0 を拡張するには、Actions の利用を強くお勧めします。Actions では、豊富な型情報、インラインドキュメント、公開されている npm パッケージを利用できるほか、拡張性を高める外部連携にも対応できます。Actions でできることについて詳しくは、Understand How Auth0 Actions Work をご覧ください。移行を支援するために、migrate from Rules to Actions および migrate from Hooks to Actions のガイドを用意しています。また、機能比較、an Actions demo、移行に役立つその他のリソースを紹介した専用の Move to Actions ページもあります。Rules と Hooks の非推奨化について詳しくは、ブログ記事 Preparing for Rules and Hooks End of Life をご覧ください。
2026年に Rules と Hooks の機能を削除する予定のため、新しい Rules や Hooks を作成する場合は、Development 環境でのみ、Actions への移行をテストする目的に限って作成してください。Rules を Actions に移行する方法については、Migrate from Rules to Actions をご覧ください。Hooks を Actions に移行する方法については、Migrate from Hooks to Actions をご覧ください。
特定の機能要件に対応するために、独自のルールを作成できます。既存のルール テンプレートを変更することも、用意されているサンプルの 1 つを使ってゼロから始めることもできます。Auth0 では、目的の達成に役立つよう、多数の既存ルールやルール テンプレートを提供しています。一覧については、GitHub 上の rules リポジトリ をご覧ください。

ルールの仕組み

ルールは、ユーザーがアプリケーションに認証するときに実行される JavaScript 関数です。認証プロセスが完了すると実行され、Auth0 の機能をカスタマイズしたり拡張したりするために利用できます。セキュリティ上の理由から、ルールのコードはサンドボックス内で、他の Auth0 テナントのコードから隔離された状態で実行されます。ルールはトークンのリフレッシュフロー中にも実行されます。詳しくは、Refresh Tokens を参照してください。 Auth0 でルールを使用する場合、認証トランザクションのフローは次のようになります。
認証フローにおけるルールの図
  1. アプリが Auth0 に認証リクエストを送信します。
  2. Auth0 は、設定された接続を通じてそのリクエストを ID プロバイダーにルーティングします。
  3. ユーザーが正常に認証されます。
  4. ID トークンおよび/またはアクセストークンはルールのパイプラインを通過した後、アプリケーションに送信されます。

前提条件

ルールでグローバル変数を使用する場合は、事前にルール変数を設定してください。詳しくは、ルールのグローバル変数を設定するをご覧ください。

Dashboard を使う

  1. Dashboard > Auth Pipeline > Rules に移動し、Create をクリックします。
    Dashboard - Auth Pipeline - Rules
  2. ルールのテンプレートを選択します。
    Dashboard - Auth Pipeline - Rules - Template
  3. ルールに名前を付け、必要に応じてスクリプトを編集して、Save changes をクリックします。
    Dashboard - Auth Pipeline - Rules - Edit Rule

Management API を使用する

Create Rule エンドポイントPOST リクエストを送信します。MGMT_API_ACCESS_TOKENRULE_NAMERULE_SCRIPTRULE_ORDERRULE_ENABLED のプレースホルダー値は、それぞれご自身の 、ルール名、ルールスクリプト、ルールの順序番号、ルールの有効化設定の値に必ず置き換えてください。
公開エンドポイント (例: travel0.us.auth0.com) では IPv6 アドレスを公開しています。IPv6 をサポートするマシンからリクエストが送信されると、context.request.ip プロパティには IPv6 アドレスが含まれます。IP アドレスを手動で処理する場合は、ipaddr.js@1.9.0 library を使用することをお勧めします。

レート制限の管理

Auth0 API を呼び出すルールでは、X-RateLimit-Remaining ヘッダーを確認し、返された値が 0 に近づいたら適切に対応することで、常にレート制限に対処するようにしてください。また、定められたレート制限を超過して HTTP ステータスコード 429 (Too Many Requests) を受け取った場合に備えたロジックも追加する必要があります。この場合、再試行が必要であれば、無限に再試行を繰り返す事態を避けるため、バックオフを設けるのが最善です。レート制限の詳細については、Rate Limit Policy For Auth0 APIs を参照してください。

利用可能なモジュール

ルールは、特定の Node.js バージョン向けに構成された JavaScript サンドボックス内で実行されます。 このサンドボックスは、設定された Node.js バージョンで利用可能なすべての JavaScript 言語機能 (および関連する構文) と、多数の Node.js モジュールをサポートしています。サポートされているサンドボックスモジュールの一覧は、Can I require: Auth0 Extensibility をご覧ください。

詳細はこちら