- を実装し、Auth0 と連携するために auth0.js を使ってログインページをカスタマイズしたい場合。
- アプリケーションにログインフローを埋め込みたい場合。
パスワードレスエンドポイント
POST /passwordless/start
アプリケーションの設定で、Auth0 Dashboard > Applications > Applications の Advanced Settings > Grant Types にある Passwordless OTP グラントを有効にする必要があります。
- 単一使用の code をメールまたは SMS で送信
- 単一使用のリンクをメールで送信
yourAuth0Tenant}.auth0.com/passwordless/verify-redirect が呼び出されます。Auth0 はユーザーをアプリケーションにリダイレクトし、ユーザーはログインします。
code を使用する場合、アプリケーションはその code の入力を求める必要があります。その後、/oauth/token エンドポイント、または Auth0.js SDK の passwordlessLogin メソッドを使用して、その code を認証トークンに引き換える必要があります。
POST /oauth/token
/oauth/token を使用して OTP code を認証トークンに交換する必要があります。シングルページアプリケーションからはこのエンドポイントを使用できません。
これを行うには、まず Auth0 Dashboard > Applications > Applications のアプリケーション設定にある Advanced Settings > Grant Types で、アプリケーションの Passwordless OTP グラントを有効にする必要があります。
ユーザーは OTP code を受け取り、ネイティブアプリケーションまたは Web アプリケーションはその入力をユーザーに求めます。ユーザーが code を入力したら、次のパラメーターを指定して /oauth/token エンドポイントを呼び出すことで、認証フローを完了できます。
問題がなければ、Auth0 は次のようなレスポンスを返します。
Auth0.js の使用
passwordlessLogin メソッドを使用してください。実装は複雑なため、API を直接呼び出すのではなく、ライブラリを使用することをお勧めします。
パスワードレスエンドポイントでのレート制限
auth0-forwarded-for ヘッダーを指定できますが、これが考慮されるのは次の場合のみです。
- API 呼び出しが機密アプリケーションに対して行われる。
- API 呼び出しに が含まれている。
- Trust IP Header トグルがオンになっている。
MFA をカスタマイズする
/oauth/token エンドポイントを呼び出すと、は mfa_required エラーを返し、次の情報を提供します。
-
登録とチャレンジのために MFA API を呼び出す際に必要な
mfa_token。 -
チャレンジでアプリケーションがサポートする認証要素の
typeを示すmfa_requirementsパラメーター。
mfa_token を使用して mfa/authenticator エンドポイントを呼び出し、ユーザーが登録しているすべての認証要素を一覧取得し、アプリケーションでサポートしている type と一致するものを特定します。また、チャレンジを発行するには、対応する authenticator_type も取得する必要があります。
request/mfa/challenge エンドポイントを呼び出して、MFA チャレンジを実行します。
Auth0 Actions を使用すると、MFA フローをさらにカスタマイズできます。詳細については、Actions Triggers: post-challenge - API Object を参照してください。