post-login Actions を使用すると、特定の認証要素への登録をユーザーに促すように フローをカスタマイズできます。ユーザーが認証要素を登録すると、以後のログインではその認証要素を第 2 の認証手段として使用できます。
また、コンテキスト情報を利用して、MFA 登録フローをさらに細かくカスタマイズすることもできます。たとえば、あるアプリケーションでは SMS への登録を促し、別のアプリケーションではプッシュ通知や WebAuthN への登録を促すことができます。
この機能を使うと、MFA 登録フローをカスタマイズできます。すでに登録済みのユーザー向けに MFA フローをカスタマイズしたい場合は、Universal Login の MFA 選択をカスタマイズ を参照してください。
仕組み
post-login トリガーを、次の Authentication API メソッドで変更できます。
-
enrollWith: 登録時にユーザーに提示するデフォルトの認証要素を指定します。必要に応じて、ユーザーが選択できる代替の認証要素の一覧を指定することもできます。指定した場合は、登録プロンプトに Try Another Method リンクが表示されます。 -
enrollWithAny: 登録時にユーザーが選択できる認証要素のセットを指定します。デフォルトでは、このメソッドはユーザーが希望する認証要素を選べる選択プロンプトを表示します。場合によっては、ユーザー体験が次のように異なることがあります。- 2 つ以上の認証要素が指定されている場合は、選択プロンプトがユーザーに表示されます。
- 指定された認証要素のうち、1 つを除くすべてにユーザーがすでに登録済みである場合は、選択プロンプトはスキップされ、残りの認証要素への登録が求められます。
- 指定されたすべての認証要素にユーザーがすでに登録済みである場合は、コマンドは失敗し、ログインシーケンスは続行されます。
-
otp -
recovery-code -
push-notification -
phonepreferredMethod: voicepreferredMethod: smspreferredMethod: both
-
webauthn-platform -
webauthn-roaming
enrolledFactors に追加されます。このプロパティは、そのユーザーアカウントに関連付けられた有効な認証要素の一覧を表します。
配列 event.authentication.methods には、メソッド名が mfa に設定されている場合、type フィールドが含まれます。このフィールドには、enrolledFactors の type フィールドで使用されるものと一致する認証要素の値 (String) が含まれます。
MFA 登録が行われると、methods には、そのイベントで使用された認証要素が type に設定された name:mfa のオブジェクトが含まれます。methods と enrolledFactors は、Action が最初に開始された時点でのみ更新されます。登録イベントの結果には、フロー内の次の Action でアクセスできます。
詳しくは、次のリソースを参照してください。
順序立てられたコンテキスト対応フロー
enrollWith または enrollWithAny コマンドを使用すると、コンテキスト情報を利用して、ユーザーに提示する最適な登録方法や一連の登録を判断できます。
enrollWithコマンドでは、初期またはデフォルトの認証要素と、代替の認証要素のリストを指定できます。ユーザーはコマンドごとに 1 つの認証要素にのみ登録できます。enrollWithAnyコマンドでは、認証要素のリストを指定できます。指定した認証要素の順序によって、ユーザーに表示される順番が決まります。ユーザーはコマンドごとに 1 つの認証要素にのみ登録できます。
- 順序立てられたフロー: 特定の順序で一連の認証要素にユーザーを登録できます。
- コンテキスト対応フロー: メタデータまたはフロー内の前のコマンドに基づいて、ユーザーにどの認証要素を提示するかを決定できます。
app_metadata を確認してユーザーが admin かどうかを判断し、特定の認証要素を登録するよう促します。admin ユーザーが OTP のみを登録している場合は、まず OTP によるチャレンジでauthenticationを完了します。その後、セキュリティキー (webauthn-roaming) を登録するよう求められます。
ユーザーアカウントの安全を保つため、追加の認証要素を登録する前に、ユーザーは既存の enrolledFactors のいずれかを使って MFA チャレンジを完了する必要があります。この条件により、異なる認証要素や設定を持つアプリケーションがすでに使用された後でも、カスタムの MFA 登録ポリシーを安全に実装できます。
event.user.enrolledFactors と event.authentication.methods の両方が更新されます。これにより、ユーザーが異なる認証要素でチャレンジするか登録するかを選べる場合でも、Action コードは実際のユーザーデータに基づいて判断できます。
注: この Actions の実行方法は、enrollWith または enrollWithAny コマンドを含むものにのみ適用されます。その他の目的の Actions には影響しません。
始める前に
- 設定手順の詳細については、Enable Multi-Factor Authentication を参照してください。
- 特定の認証要素の設定方法については、Multi-factor Authentication Factors を参照してください。

enrollWith または enrollWithAny コマンドを使用する Actions は、テナントで MFA を有効または無効にする既存のポリシーやルールよりも優先されます。
MFA 登録フローをカスタマイズする
post-login Actions を作成して MFA 登録フローをカスタマイズできます。
post-login Action を作成する
- Actions > Flows に移動し、Login を選択します。
- Add Action パネルで プラス記号 (+) アイコンを選択し、Build from scratch を選びます。
-
Create Action ポップアップで次のように設定します。
- Action の名前を入力します。
- トリガーとして Login / Post-Login を選択します。
- ランタイムには Node 22 (Recommended) を使用します。
- ポップアップの内容に間違いがないことを確認して、Create を選択します。
-
コードエディターで、
onPostExecute関数にカスタムコードを追加します。 - 準備ができたら、Deploy を選択します。
-
デプロイ成功の通知で Add to Flow を選択します。
- 注: 通知が閉じた場合は、コードエディターの上にある Back to Flow を選択します。
- Add Action パネルから新しい Action をログインフローにドラッグ&ドロップし、Apply を選択します。
post-login Actionをテストする
- Authentication > Authentication Profile に移動します。
- 試す を選択して、新しいタブでサンプルのログインプロンプトを開きます。
- 資格情報を入力し、新しい MFA フローをテストします。
使用例
ユーザーにMFAの登録オプションを提示する
トラブルシューティング
テナントログ
トラブルシューティングチェックリスト
-
Customize MFA factors with Actions トグルを有効にする必要があります。
- Auth0 Dashboard > Security > Multi-factor Auth に移動し、Additional Settings セクションのトグルが有効になっていることを確認します。
-
Actions で参照している認証要素は、テナントで有効になっている必要があります。
- コードを確認する: Auth0 Dashboard > Actions > Library > Custom に移動し、Actions のコードを確認します。参照しているすべての認証要素がユースケースに適していることを確認します。
- 認証要素を確認する: Auth0 Dashboard > Security > Multi-factor Auth に移動し、Actions で参照しているすべての認証要素が有効になっていることを確認します。
-
Actions がデプロイ済みで、パイプラインに保存されていることを確認します。
- Auth0 Dashboard > Actions > Library > Custom に移動します。リストから Action を見つけ、ステータスが Deployed になっていることを確認します。別のステータスが表示されている場合は、Action を開いてコードを確認し、右上の Deploy をクリックします。
- Auth0 Dashboard > Actions > Library > Flows に移動し、Login を選択します。フローに Action が表示されていることを確認します。表示されていない場合は、Add Action パネルの Custom タブ を開き、Action をログインフローにドラッグ&ドロップします。その後、Apply を選択します。
-
post-loginActions を最新バージョンにアップグレードしていることを確認します。- Auth0 Dashboard > Actions > Library > Custom に移動し、Action を選択します。Action が古い場合は、更新を促す黄色のバナーが表示されます。バナーが表示されたら、Update を選択します。
- Deploy CLI を使用する場合は、デプロイ時に
post-loginActions の最新バージョンを指定することもできます。詳しくは、Configure the Deploy CLI を参照してください。