ルールの構造に関するベストプラクティス
ルールは基本的に、user
オブジェクト、context
オブジェクト、callback
関数の3つのパラメーターが渡されるJavaScriptの無名関数です。
function (user, context, callback) {
// TODO: implement your rule
return callback(null, user, context);
}
Was this helpful?
関数宣言の末尾にセミコロンを追加しないでください。ルールの実行が中断されます。無名関数は、例外的なエラー条件の結果として生成されたコールスタックの解釈を困難にします。診断分析を容易にするため、簡潔で一意の命名規則を使用してください(例:function MyRule1 (user, context, callback) {...}
)。詳細については、「エラー処理のベストプラクティス」をお読みください。
ルールは、Auth0エンジン全体の一部を形成する、真正性のアーティファクト生成に関連するパイプラインで実行されます。パイプラインが実行されると、有効なすべてのルールがリストされている順序でパッケージ化され、1つのコードBlobとして送信され、Auth0のサーバーレスWebtaskとして実行されます。Auth0エンジン全体を確認するには、「Auth0エンジンの内側。」をダウンロードしてください。

サイズ
有効なすべてのルールの実装では、総サイズが100 KBを上回らないようにすることを推奨します。Auth0のサーバーレスWebtaskプラットフォームでパッケージングと転送が処理されるため、サイズが大きいほど遅延が長くなります。そして、これはシステムの性能にも影響を与えます。100 KBの制限には、require
ステートメントの一部として参照された可能性のあるnpm
モジュールは含まれません。
Order(順序)
Auth0 Dashboardに表示されるルールの順序によって、ルールが実行される順序が決まります。あるルールが複数の定義を作成し、実行に関連付けられた環境内で別のルールがその定義に依存していることがあるため、この順序は重要です。この場合、定義を作成するルールを、その定義を使用するルールの前に実行する必要があります。詳細については、「ルール環境のベストプラクティス」をお読みください。
API(Auth0 Management APIを含む)を呼び出す、負荷の大きいルールは、できるだけ後で実行します。他に負荷が小さく、unauthorized
アクセスの判断につながる可能性のあるルールがある場合は、そのようなルールを先に実行する必要があります。