api.authentication.setActor() で actor が設定されるカスタムトークン交換のトランザクションでは、MFA は使用できません。MFA が必要な場合 (ポリシーまたは Post-Login Action による) に、カスタムトークン交換 Action で actor を設定すると、トランザクションは 400 エラー MFA is not supported using actor_token with the requested token exchange profile. で失敗します。- テナントで MFA ポリシーを有効にして設定する
- Post-Login Action で
api.multifactor.enable()を使用する
/token エンドポイントへの呼び出しを、mfa_required エラーで拒否します。要求された Auth0 のアクセストークン、ID トークン、リフレッシュトークンを取得するには、このエラーを Auth0 MFA API で使用し、認証要素に対する challenge と検証を行えます。
カスタムトークン交換では、
api.authentication.challengeWith() と api.authentication.enrollWith() はサポートされていません。これらのメソッドを Post-Login Action で使用すると、トランザクションは回復不能なエラーで失敗します。subject_token_type の値に応じて、event.transaction.protocol==oauth2-token-exchange の場合はこれらのメソッドを使用しないようにしてください。api.multifactor.enable() と MFA ポリシーもサポートされません。
MFA グラントの使い方について詳しくは、カスタムトークン交換も同じモデルに従うため、MFA を使用してリソース所有者パスワードフローで認証する を参照してください。詳しい例については、ユースケース: カスタムトークン交換中に MFA を実行する もご覧ください。