- アプリケーションでユーザー識別子 (ユーザーのメールアドレスまたは電話番号) を取得し、
/passwordless/startエンドポイントを呼び出してパスワードレスフローを開始します。すると、ユーザーにメール、使い捨てコードを含む SMS、またはマジックリンクが送信されます。 - マジックリンクを送信しなかった場合は、ユーザーに使い捨てコードの入力を求め、
/oauth/tokenエンドポイントを呼び出して認証トークンを取得します。
/oauth/token を呼び出す必要はありません。ユーザーがマジックリンクをクリックすると、アプリケーションのコールバック URL にリダイレクトされます。
以下に、さまざまなシナリオでこれらの API エンドポイントを呼び出す際に使用できるコードスニペットをいくつか示します。
メールで使い捨てコードを送信する
メールでマジックリンクを送信する
send: link を指定する必要があります。
SMSでワンタイムパスワードを送信
SMSユーザーを認証する
Emailユーザーの認証
マジックリンクでユーザーを認証する
マジックリンクを送信した場合、ユーザーを認証するためにAPIを呼び出す必要はありません。ユーザーはリンクをクリックすると、コールバックURLにリダイレクトされます。
レート制限のための auth0-forwarded-for ヘッダーの設定
/passwordless/start エンドポイントには、IP アドレスごとに1時間あたり50リクエストというレート制限があります。サーバーサイドから API を呼び出す場合、バックエンドの IP アドレスがこのレート制限に簡単に達してしまう可能性があります。この問題への対処方法については、Using Passwordless APIs の「Passwordless Endpoints における Rate Limiting」セクションを参照してください。
MFA をカスタマイズ
oauth/token エンドポイントは mfa_required エラーを返し、MFA API の使用に必要な mfa_token と、現在アプリケーションがサポートしている認証器の一覧を含む mfa_requirements パラメーターを返します。
mfa_token を使用して mfa/authenticator エンドポイントを呼び出し、ユーザーが登録済みの認証要素をすべて一覧取得したうえで、アプリケーションがサポートするものと同じ type を持つものを特定します。また、チャレンジを発行するには、対応する authenticator_type も取得する必要があります:
request/mfa/challengeエンドポイントを呼び出して、MFA チャレンジを適用します。
Auth0 Actions を使用して、MFA フローをさらにカスタマイズできます。詳しくは、Actions トリガー: post-challenge - API オブジェクトをご覧ください。