- アプリケーションでユーザー識別子 (ユーザーのメールアドレスまたは電話番号) を取得し、
/passwordless/startエンドポイントを呼び出してパスワードレスフローを開始します。ユーザーには、メール、1 回限り使用できる code を含む SMS、またはマジックリンクが送信されます。 - マジックリンクを送信していない場合は、ユーザーに 1 回限り使用できる code の入力を求め、
/oauth/tokenエンドポイントを呼び出して認証トークンを取得します。
/oauth/token を呼び出す必要はありません。ユーザーがマジックリンクをクリックすると、アプリケーションのコールバック URL にリダイレクトされます。
以下に、さまざまなシナリオでこれらの API エンドポイントを呼び出す際に使用できるコードスニペットをいくつか示します。
メールで 1 回限り使用できる code を送信する
メールでマジックリンクを送信する
send: link を指定します。
SMS 経由でワンタイムパスワードを送信する
SMS ユーザーの認証
メールアドレスでユーザーを認証する
マジックリンクでユーザーを認証する
マジックリンクを送信する場合、ユーザーを認証するために API を呼び出す必要はありません。ユーザーはリンクをクリックすると、コールバック URL にリダイレクトされます。
レート制限対策として auth0-forwarded-for ヘッダーを設定する
/passwordless/start エンドポイントには、IP ごとに 1 時間あたり 50 リクエストのレート制限があります。サーバーサイドから API を呼び出す場合、バックエンドの IP がこのレート制限に達しやすくなります。この問題への対処方法については、Using Passwordless APIs の「パスワードレス Endpoints におけるレート制限」セクションを参照してください。
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 Triggers: post-challenge - API オブジェクト を参照してください。