メインコンテンツへスキップ
は、ユーザーに再認証を求めることなく、新しいを要求するために使用されます。 通常は、前のアクセストークンの有効期限が切れる前に新しいアクセストークンを要求する必要があります (サービスの中断を避けるため) 。ただし、トークン交換にはレート制限ポリシーが適用されるため、API を呼び出すたびに要求すべきではありません。 また、リフレッシュトークンを使用してユーザーの新しいIDトークンを要求することもできます。IDトークン内のクレームを更新する必要がある場合は、そうしてください。

API を呼び出す

認証時に受け取ったリフレッシュトークンを新しいアクセストークンに交換するには、Auth0 Authentication API の Get token endpoint を呼び出します。 Authentication API で利用可能な認証方法の詳細については、Authentication Methods を参照してください。

Basic認証を使用する

Post authentication の使用

パラメーター定義

ParameterDescription
grant_type実行するグラントの種類。
client_idアプリケーションのクライアントID。
client_secret(省略可能) アプリケーションのクライアントシークレット。POST トークン認証方式を使用する機密アプリケーションでのみ必要です。
refresh_token交換対象のリフレッシュトークン。
レスポンスには、新しいアクセストークン、トークンタイプ、有効期間 (秒単位) 、および付与されたスコープが含まれます。初期トークンのスコープに openid が含まれていた場合は、新しいIDトークンもレスポンスに含まれます。
{
      "access_token": "eyJ...MoQ",
      "expires_in": 86400,
      "scope": "openid offline_access",
      "id_token": "eyJ...0NE",
      "token_type": "Bearer"
    }

MFA をバイパスする

多要素認証 (MFA) が有効で、リフレッシュトークンの交換フローが失敗した場合は、以下の Action コードを使用して ロジックをバイパスできます。
exports.onExecutePostLogin = async (event, api) => {
  // このActionを使用すると、リフレッシュトークン交換フローのMFAロジックをバイパスできます。

  if (event.transaction.protocol === "oauth2-refresh-token") {
    return;
  }

  //  MFAロジックを追加する
  //  例: api.multifactor.enable("any");
};
現在のフローまたはプロトコルに応じて、別のロジックを実行する必要がある場合やスキップする必要がある場合は、コード例をカスタマイズできます。

MFA をカスタマイズ

Resource Owner Password Grant、Embedded、またはリフレッシュトークンフローでのカスタマイズ可能な 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 Triggers: post-challenge - API オブジェクト を参照してください。

関連情報