post-loginトリガーは、サインアップ後の認証を含め、ユーザーがAuth0 テナント内のアプリケーションに対して正常に認証されたとき、およびが交換されたときに実行されます。

参考資料
- イベントオブジェクト: Auth0 経由でログインするユーザーに関するコンテキスト情報を提供します。
- API オブジェクト: フローの動作を変更するためのメソッドを提供します。
一般的なユースケース
アクセス制御
post-login Action を使用すると、アプリケーションにアクセスしようとするユーザーのアクセスを拒否するカスタムロジックを実装できます。特定のアプリケーションへのアクセスを平日のみに制限する
特定のアプリケーションへのアクセスを平日のみに制限するには、次のActionを作成します。API を呼び出すすべてのユーザーのアクセスを拒否する
API を呼び出すすべてのユーザーのアクセスを拒否する場合について考えてみましょう。そのためには、API の 値に基づいてアクセスを拒否する必要があります。この値は、Dashboard > Applications > APIs にある API の API Audience フィールドで確認できます。これを行うには、次の Action を作成します。ID トークンとアクセストークンにユーザーロールを追加する
Auth0 が発行するトークンにユーザーロールを追加するには、event.authorization オブジェクトと api.idToken.setCustomClaim および api.accessToken.setCustomClaim メソッドを使用します。
- カスタムクレームには使用できないタームがあり、URI 形式の名前空間付きクレームを使用することを強く推奨します。詳細については、カスタムクレームの作成を参照してください。
- リクエスト元のアプリケーションに返される は、トリガーの処理の最後に生成・署名されます。最終的に署名された JWT には、Action 内からアクセスできません。
ユーザープロファイルを拡張する
Auth0 では、ユーザープロファイル にメタデータを保存できます。ログイン時にユーザーのプロファイルにuser_metadata または app_metadata を設定するには、api.user.setUserMetadata または api.user.setAppMetadata 関数を使用します。
カスタムMFAポリシーを適用する
post-login Action を使用すると、アプリケーションのニーズに応じて、ユーザーにを動的に要求できます。パスキーで手間を軽減する
post-login Action を使用すると、パスキーで認証したユーザーに対して MFA を動的にスキップし、手間を軽減できます。ユーザーを外部サイトにリダイレクトする
Redirect Rulesと同様に、post-login Actionを使用してユーザーを外部サイトに誘導できます。完了後、ユーザーはAuth0にリダイレクトされ、ログインフローを続行できます。以下の例では、Redirect Actionを使用して、ユーザーに好きな色を入力するよう促します。アクセストークン の スコープ を変更する
api.transaction.addTargetScope() と removeTargetScope() を使用すると、認可を迂回せずに スコープ を変更できます。変更内容は複数のアクションをまたいで累積され、event.transaction.target_scopes には現在のセットが即座に反映されます。Auth0 は、最終的なセットが該当するポリシーおよび同意の要件を満たしているかを確認します。
認可をバイパスしてスコープを強制的に追加する
api.accessToken.addScope() は、認可の完了後にアクセストークンへスコープを直接追加します。このメソッドは RBAC、アプリケーションのアクセスポリシー、同意をすべてバイパスし、ターゲットスコープも更新しません。意図的にバイパスする場合に限って使用し、その際は信頼できる入力と、想定どおりの API オーディエンスを使用してください。
api.accessToken.addScope() は、strict なサードパーティアプリケーションではサポートされていません。このメソッドで強制的に追加したスコープは、ターゲットスコープを変更しても取り消せません。api.accessToken.removeScope() は、認可後にアクセストークンからスコープを削除します。この場合、ターゲットセットは変更されません。特定のJA3/JA4フィンガープリントからのアクセスを拒否する
event.security_contextオブジェクトには、現在のトランザクションのJA3/JA4フィンガープリント値が含まれます。