ルールの仕組み
ルールは、ユーザーがアプリケーションに対して認証するときに実行されるJavaScript関数です。認証プロセスが完了すると実行され、Auth0の機能をカスタマイズしたり拡張したりするために活用できます。セキュリティ上の理由により、ルールのコードは、サンドボックス内の他のAuth0テナントのコードとは分離して実行されます。ルールは、トークンのリフレッシュフロー時にも実行されます。詳細については、「リフレッシュトークン」をお読みください。 ルールを使用する場合、Auth0の認証トランザクションフローは以下の流れで行われます。
- アプリがAuth0への認証要求を開始します。
- Auth0が、構成されている接続を介して、要求をIDプロバイダーにルーティングします。
- ユーザーが正常に認証されます。
- IDトークンおよび/またはアクセストークンがルールパイプラインを介して渡され、アプリケーションに送られます。
前提条件
ルールにグローバル変数を使用する予定がある場合は、必ず先にルール変数を構成してください。詳細については、「ルールのグローバル変数を構成する」をお読みください。Dashboardの使用
-
[Dashboard]>[Auth Pipeline(Authパイプライン)]>[Rules(ルール)]に移動して、[Create(作成)] をクリックします。

-
ルールテンプレートを選択します。

-
ルールに名前を付けて、必要に応じてスクリプトを編集し、[Save changes(変更の保存)] をクリックします。

Management APIの使用
ルール作成エンドポイントにPOST呼び出しを行います。MGMT_API_ACCESS_TOKEN、RULE_NAME、RULE_SCRIPT、RULE_ORDER、およびRULE_ENABLEDのプレースホルダーの値をそれぞれ、実際ののアクセストークン、ルール名、ルールスクリプト、ルールの順序、ルールの有効化の値に置き換えてください。
レート制限を管理する
Auth0 APIを呼び出すルールの場合は、X-RateLimit-Remainingヘッダーを確認し、返された数値が0に近づいたときに適切に対応することで、常にレート制限に対処する必要があります。また、指定されたレート制限を超えてHTTPステータスコード429(Too Many Requests)を受信した場合に対処するためのロジックも追加する必要があります。この際、再試行が必要な場合は、再試行の無限ループに陥らないためにバックオフを許可するのが最善策です。レート制限の詳細については、「Auth0 APIのレート制限ポリシー」をお読みください。