メインコンテンツへスキップ
Authorization Code Flow は、シークレットを安全に保存できるサーバーサイドアプリケーションで使用されます。ネイティブアプリケーションでは、PKCE を使用する認可コードフロー を使用します。 OIDC 準拠パイプラインは、Authorization Code Flow の次の領域に影響します。
  • 認証リクエスト
  • 認証レスポンス
  • code の交換リクエスト
  • code の交換レスポンス
  • の構造
  • の構造

認証リクエスト

レガシー

GET /authorize?
    response_type=code
    &scope=openid email favorite_color offline_access
    &client_id=123
    &state=af0ifjsldkj
    &redirect_uri=https://app.example.com/callback
    &device=my-device-name
offline_access スコープを指定して をリクエストする場合にのみ、device パラメーターが必要です。詳細については、Refresh Tokens を参照してください。

OIDC準拠

GET /authorize?
    response_type=code
    &scope=openid email offline_access
    &client_id=123
    &state=af0ifjsldkj
    &redirect_uri=https://app.example.com/callback
    &audience=https://api.example.com
  • favorite_color は有効なスコープ値ではなくなりました。
  • device パラメーターは廃止されました。
  • audience パラメーターは省略可能です。

認証レスポンス

Auth0 からのレスポンスは、両方のパイプラインで同一です。
HTTP/1.1 302 Found
Location: https://app.example.com/callback?
    code=SplxlOBeZQQYbYS6WxSbIA
    &state=af0ifjsldkj

code 交換リクエスト - 認可 code フロー

認可 code は、どちらのパイプラインでも同じ方法で交換できます。

code の交換リクエスト - PKCE を使用する認可コードフロー

認可 code は、どちらのパイプラインでも同じ方法で交換できます。

code の交換レスポンス

レガシー

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "SlAV32hkKG",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
  • 返されるアクセストークンは、/userinfo エンドポイントの呼び出しでのみ有効です。
  • リフレッシュトークンが返されるのは、device パラメーターが渡され、offline_access スコープが要求された場合のみです。

OIDC準拠

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache
{
    "access_token": "eyJ...",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJ..."
}
  • 返されるアクセストークンは、audience パラメーターで指定した API と /userinfo エンドポイントの呼び出しに使用できます (API が 署名アルゴリズム として RS256 を使用し、scope パラメーターに openid を使用している場合) 。独自の (API) を実装していない場合は、audience パラメーターとして https://{$account.namespace}/userinfo を使用できます。この場合、不透明なアクセストークンが返されます。
  • リフレッシュトークンが返されるのは、offline_access スコープが付与されている場合のみです。

IDトークンの構造

レガシー

OIDC準拠

favorite_color クレームは、Auth0 Action を使用して追加する必要があります。詳細については、カスタムクレームの作成を参照してください。

アクセストークンの構造 (任意)

レガシー

HTTP
SlAV32hkKG
返されたアクセストークンは不透明であり、/userinfo エンドポイントの呼び出しにのみ使用できます。

OIDC準拠

返されたアクセストークンは、必要に応じて、audience パラメーターで指定した API と /userinfo エンドポイントの呼び出しに使用できます (API が として RS256 を使用し、scope パラメーターに openid が指定されている場合) 。 独自のリソースサーバー (API) を実装しない場合は、audience パラメーターに https://{$account.namespace}/userinfo を使用できます。この場合は、不透明なアクセストークンが返されます。

詳細