Skip to main content
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 を追加すると、Auth0認可サーバーは最初のカスタムトークン交換の /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 を実行する もご覧ください。