メインコンテンツへスキップ
を取得するには、/authorize エンドポイントを介して認証リクエストを開始する際に、offline_access スコープ を含める必要があります。API で Offline Access を必ず有効にしてください。詳細については、API Settings を参照してください。 たとえば、Authorization Code Flow を使用している場合、認証リクエストは次のようになります。 リフレッシュトークンはセッションに保存されます。次に、セッションの更新が必要になった場合 (たとえば、あらかじめ設定した期間が経過した場合や、ユーザーが機密性の高い操作を実行しようとした場合) 、アプリはバックエンドでリフレッシュトークンを使用して、新しいを取得します。このとき、grant_type=refresh_token を指定して /oauth/token エンドポイントを使用します。 ユーザーの認証が正常に完了すると、アプリケーションは redirect_uri にリダイレクトされ、URL の一部として code が付与されます: {https://yourApp/callback}?code=BPPLN3Z4qCTvSNOy。この code は、/oauth/token エンドポイントを使用してと交換できます。 レスポンスには、アクセストークンとリフレッシュトークンが含まれている必要があります。
{
      "access_token": "eyJz93a...k4laUWw",
      "refresh_token": "GEbRxBN...edjnXbL",
      "token_type": "Bearer"
    }
対応する Native Client (パブリック) を使用するモバイルアプリでリフレッシュトークンを要求する場合、client_secret は機密アプリケーションでのみ必要なため、リクエストに含める必要はありません。 リフレッシュトークンを使うと、ユーザーは実質的に無期限で認証済みの状態を維持できるため、アプリケーションで安全に保存する必要があります。 Authorization Code Flow を使用してこれを実装する方法の詳細については、チュートリアル「Call API Using the Authorization Code Flow」を参照してください。他のグラントについては、「Authentication and Authorization Flows」を参照してください。

MFA をカスタマイズする

Resource Owner Password Grant、埋め込み型、またはリフレッシュトークンのフローでのカスタマイズ可能な MFA は、現在早期アクセスです。この機能を使用すると、Okta のMaster Subscription Agreementに記載されている該当する Free Trial 条項に同意したものとみなされます。Auth0 のリリースステージの詳細については、Product Release Stagesを参照してください。早期アクセスに参加するには、Auth0 Supportにお問い合わせください。
カスタマイズ可能な MFA を使用すると、ユーザーはアプリケーションでサポートされている認証要素の中から任意のものを選んで登録し、チャレンジできます。 oauth/token エンドポイントでの認証中、レスポンスでは mfa_required エラーが返されます。このエラーには、MFA API で使用する mfa_token と、認証要素の一覧を含む mfa_requirements パラメーターが含まれます。
{
  "error": "mfa_required",
  "error_description": "Multifactor authentication required",
  "mfa_token": "Fe26...Ha",
  "mfa_requirements": {
    "challenge": [
      { "type": "otp" },
      { "type": "push-notification" },
      { "type": "phone" },
      { "type": "recovery-code" }
      { "type": "email"} //チャレンジでのみ使用可能
    ]
  }
}
mfa_token を使用して mfa/authenticator エンドポイントを呼び出し、ユーザーが登録済みのすべての認証要素の一覧を取得したうえで、アプリケーションがサポートするものと同じタイプを特定します。チャレンジを発行するには、対応する authenticator_type も取得する必要があります。
[
  {
    "type": "recovery-code",
    "id": "recovery-code|dev_qpOkGUOxBpw6R16t",
    "authenticator_type": "recovery-code",
    "active": true
  },
  {
    "type": "otp",
    "id": "totp|dev_6NWz8awwC8brh2dN",
    "authenticator_type": "otp",
    "active": true
  }
]
request/mfa/challenge エンドポイントを呼び出して、MFA チャレンジを必須にします。 Auth0 Actions を使用すると、MFA フローをさらにカスタマイズできます。詳細については、Actions トリガー: post-challenge - API オブジェクト を参照してください。

詳しくはこちら