/authorize エンドポイント経由で認証リクエストを開始する際に、offline_access スコープ を含める必要があります。また、API でオフラインアクセスを有効にしておいてください。詳細については、API Settings を参照してください。
たとえば、Authorization Code Flow を使用している場合、認証リクエストは次のようになります。
リフレッシュトークンはセッションに保存されます。セッションの更新が必要になった場合 (たとえば、あらかじめ設定された一定時間が経過したときや、ユーザーが機密性の高い操作を実行しようとしたとき) 、アプリはバックエンドでリフレッシュトークンを使い、grant_type=refresh_token を指定して /oauth/token エンドポイントから新しい を取得します。
ユーザーの認証が正常に完了すると、アプリケーションは redirect_uri にリダイレクトされ、URL の一部として code が付与されます: {https://yourApp/callback}?code=BPPLN3Z4qCTvSNOy。このコードは、/oauth/token エンドポイントを使って と交換できます。
レスポンスには、アクセストークンとリフレッシュトークンが含まれている必要があります。
client_secret は機密アプリケーションにのみ必要なため、リクエストに含める必要はありません。
リフレッシュトークン は、ユーザーが実質的に無期限で認証された状態を維持できるようにするため、アプリケーションで安全に保存する必要があります。
Authorization Code Flow を使用してこれを実装する方法の詳細については、チュートリアル「Authorization Code Flow を使用して API を呼び出す」を参照してください。その他のグラントについては、認証と認可のフローを参照してください。
MFA をカスタマイズ
oauth/token エンドポイントでの認証中、レスポンスとして mfa_required エラーが返されます。このエラーには、MFA API で使用する mfa_token と、認証器の一覧を含む mfa_requirements パラメーターが含まれます。
mfa_token を使用して mfa/authenticator エンドポイントを呼び出し、ユーザーが登録済みのすべての要素の一覧を取得したうえで、アプリケーションがサポートする種類と一致するものを特定します。チャレンジを発行するには、一致する authenticator_type も取得する必要があります:
request/mfa/challenge エンドポイントを呼び出して、MFA チャレンジを必須にします。
Auth0 Actions を使って、MFA フローをさらにカスタマイズできます。詳しくは、Actions Triggers: post-challenge - API Object をご覧ください。