前提条件
- Dashboard または Management API を使用して、認証要素として OTP を設定 します。
OTP で登録
MFAトークンを取得する
- 認証中に登録する場合は、Resource Owner Password Grant と MFA を使用して認証する を参照してください。
- ユーザーが任意のタイミングで認証要素を登録できるようにする場合は、MFA 認証要素の登録を管理する を参照してください。
認証要素を登録する
POST リクエストを送信します。このエンドポイントに必要な Bearer トークンは、前の手順で取得した MFA トークンです。
OTP で登録するには、authenticator_types パラメーターを [otp] に設定します。
成功すると、次のようなレスポンスが返されます。
User is already enrolled エラーが表示された場合、そのユーザーにはすでに MFA 認証要素が登録されています。ユーザーに別の認証要素を関連付ける前に、既存の認証要素によるチャレンジを実行する必要があります。
これがユーザーによる認証要素の関連付けの初回である場合、レスポンスに recovery_codes が含まれていることがわかります。リカバリーコードは、第 2 要素認証に使用しているアカウントまたはデバイスにアクセスできなくなった場合に、ユーザーが自分のアカウントにアクセスするために使用されます。これらは 1 回限り使用可能な code であり、必要に応じて新しいものが生成されます。
OTP 登録の確認
barcode_uri を使用して QR コードをスキャンするか、OTP アプリケーションにシークレットを手動で入力して登録できます。ユーザーが QR コードをスキャンできない場合に備えて、シークレットをテキストとして取得できる手段を提供してください (たとえば、モバイルデバイスから登録している場合や、デスクトップ OTP アプリケーションを使用している場合) 。
ユーザーがシークレットを入力すると、OTP アプリケーションに 6 桁の code が表示されます。ユーザーはその code をアプリケーションに入力する必要があります。続いて、アプリケーションはその otp 値を含めて、 に POST リクエストを送信する必要があります。
呼び出しが成功すると、アクセストークンを含む次の形式のレスポンスが返されます。
active に返される値は true です。
OTP による認証チャレンジ
MFAトークンを取得する
登録済みの認証手段を取得する
受け取った code を使用して認証を完了する
otp パラメーターにワンタイムパスワードを指定して OAuth0 Token エンドポイントを使用すると、code を検証し、認証トークンを取得できます。
呼び出しが成功すると、アクセストークンを含む、以下の形式のレスポンスが返されます。
MFA をカスタマイズする
oauth/token エンドポイントでの認証中、レスポンスは mfa_required エラーを返します。これには、MFA API で使用する mfa_token と、認証手段の一覧を含む mfa_requirements パラメーターが含まれます。
mfa_token を使用して mfa/authenticator エンドポイントを呼び出し、ユーザーが登録済みのすべての認証要素の一覧を取得して、アプリケーションでサポートしている種類と照合します。チャレンジを発行するには、対応する authenticator_type も取得する必要があります。
request/mfa/challenge エンドポイントを呼び出して、MFA チャレンジを必須にします。
Auth0 Actions を使用すると、MFA フローをさらにカスタマイズできます。詳しくは、Actions Triggers: post-challenge - API Object を参照してください。