利用可能性はAuth0プランによって異なる
この機能が利用できるかどうかは、使用しているログイン実装とAuth0プラン(または契約)によります。詳細については、「価格設定」をお読みください。
前提条件
- Dashboardで、またはManagement APIを使って要素としてメールを構成します。
メールで登録する
MFAトークンを取得する
- 認証中に登録する場合は、「リソース所有者のパスワード付与とMFAで認証する」を参照してください。
- ユーザーがいつでも要素を登録できるようにする場合は、「MFA要素の登録を管理する」を参照してください。
Authenticatorを登録する
POST要求を送信します。このエンドポイントに必要なベアラートークンは、前の手順で取得したMFAトークンです。
次のパラメーターを使用します:
| パラメーター | 値 |
|---|---|
authentication_types | [oob] |
oob_channels | [email] |
email | email@address.com、ユーザーのメールアドレス。 |
User is already enrolled(ユーザーは登録済みです)」というエラーメッセージを受け取った場合、そのユーザーはすでにMFA要素を登録済みです。このユーザーに対して別の要素を関連付ける前に、既存の要素を使ってユーザーにチャレンジする必要があります。
ユーザーが鑑別工具を初めて関連付けている場合は、応答にrecovery_codesが含まれます。復旧コードは、ユーザーが第二の認証要素であるアカウントやデバイスにアクセスできなくなったときに、ユーザーのアカウントにアクセスするために使用されます。このコードは1回しか使用できず、必要に応じて新しいコードが生成されます。
メールアドレスの登録を確定する
/oath/token エンドポイントにPOST要求を行います。メールに記載された値とともに、前の応答で返されたoob_codeとbinding_codeを入れます。
呼び出しが成功すると、アクセストークンを含む応答が以下のフォーマットで返されます。
activeに返される値はtrueです。
ユーザーが受信するメールをカスタマイズするオプションもあります。詳細は、「メールテンプレートをカスタマイズする」をお読みください。
メールアドレスを使ってチャレンジする
MFAトークンを取得する
登録されているオーセンティケーターを取得する
authenticator_idが必要です。登録された全Authenticatorの一覧は、MFA Authenticatorエンドポイントを使って表示できます:
OTPを使ってユーザーにチャレンジする
authenticator_idとmfa_tokenを使ってMFAチャレンジエンドポイントへPOSTを送ります。
受信したコードを使って認証を完了します。
oauth``/tokenエンドポイントへの以下の呼び出しの中でbinding_codeパラメーターの要求の一部として送信します。
呼び出しが成功すると、アクセストークンを含む応答が以下のフォーマットで返されます: