前提条件
- Dashboardで、またはManagement APIを使って、要素としてOTPを構成します。
OTPで登録する
MFAトークンを取得する
- 認証中に登録する場合は、「リソース所有者のパスワード付与とMFAで認証する」を参照してください。
- ユーザーがいつでも要素を登録できるようにする場合は、「MFA要素の登録を管理する」を参照してください。
Authenticatorを登録する
POST要求を送信します。このエンドポイントに必要なベアラートークンは、前の手順で取得したMFAトークンです。
OTPで登録するには、authenticator_typesパラメーターを[otp]に設定します。
成功すると、次のような応答を受け取ります:
User is already enrolled(ユーザーは登録済みです)」というエラーメッセージを受け取った場合、そのユーザーはすでにMFA要素を登録済みです。このユーザーに対して別の要素を関連付ける前に、既存の要素を使ってユーザーにチャレンジする必要があります。
ユーザーが鑑別工具を初めて関連付けている場合は、応答にrecovery_codesが含まれます。復旧コードは、ユーザーが第二の認証要素であるアカウントやデバイスにアクセスできなくなったときに、ユーザーのアカウントにアクセスするために使用されます。このコードは1回しか使用できず、必要に応じて新しいコードが生成されます。
OTPの登録を確定する
barcode_uriを使ってQRコードをスキャンするか、OTPアプリケーションで手動でシークレットコードを入力します。QRコードをスキャンできない場合(たとえば、モバイルデバイスから登録している、デスクトップ用OTPアプリケーションを使用しているなど)に備えて、シークレットをテキストで取得する方法を提供する必要があります。
ユーザーがシークレットを入力したら、OTPアプリケーションが6桁のコードを表示し、これをユーザーがアプリケーションに入力します。そうすると、アプリケーションはPOST要求をトークンエンドポイントに対して実行し、これにotp値を含めます。
呼び出しが成功すると、アクセストークンを含む応答が以下のフォーマットで返されます。
activeに返される値はtrueです。
OTPを使ってチャレンジする
MFAトークンを取得する
登録されているAuthenticatorを取得する
受信したコードを使って認証を完了します。
otpパラメーターにワンタイムパスワードを指定し、コードを検証して認証トークンを取得します。
呼び出しが成功すると、アクセストークンを含む応答が以下のフォーマットで返されます: