RFC として公開済みRFC 6749
認可の基本フレームワーク。クライアントが認可サーバーからアクセストークンを取得し、リソースサーバーに提示する。
関係図
flowchart LR
s_oauth2["OAuth 2.0"]
s_oauth21["OAuth 2.1"]
s_pkce["PKCE"]
s_par["Pushed Authorization Requests"]
s_rar["Rich Authorization Requests"]
s_device_grant["Device Authorization Grant"]
s_first_party_apps["OAuth for First-Party Apps"]
s_token_exchange["Token Exchange"]
s_jwt_bearer["JWT Bearer Grant and Client Authentication"]
s_introspection["Token Introspection"]
s_dpop["DPoP"]
s_mtls["Mutual-TLS Client Authentication and Certificate-Bound Tokens"]
s_attestation_client_auth["Attestation-Based Client Authentication"]
s_as_metadata["Authorization Server Metadata"]
s_dcr["Dynamic Client Registration"]
s_openid4vci["OpenID for Verifiable Credential Issuance"]
s_openid4vp["OpenID for Verifiable Presentations"]
s_oidc_core["OpenID Connect Core"]
s_oauth_security_bcp["OAuth 2.0 Security Best Current Practice"]
s_browser_based_apps["OAuth 2.0 for Browser-Based Applications"]
s_native_apps["OAuth 2.0 for Native Apps"]
s_iss_authz_response["Authorization Server Issuer Identification"]
s_jar["JWT-Secured Authorization Request"]
s_refresh_token_expiration["Refresh Token and Authorization Expiration"]
s_revocation["Token Revocation"]
s_aims["AI Identity Management System"]
style s_oauth2 stroke-width:3px
s_oauth21 -->|置き換え予定| s_oauth2
s_pkce -->|拡張対象| s_oauth2
s_par -->|拡張対象| s_oauth2
s_rar -->|拡張対象| s_oauth2
s_device_grant -->|拡張対象| s_oauth2
s_first_party_apps -->|拡張対象| s_oauth2
s_token_exchange -->|拡張対象| s_oauth2
s_jwt_bearer -->|拡張対象| s_oauth2
s_introspection -->|拡張対象| s_oauth2
s_dpop -->|拡張対象| s_oauth2
s_mtls -->|拡張対象| s_oauth2
s_attestation_client_auth -->|拡張対象| s_oauth2
s_as_metadata -->|拡張対象| s_oauth2
s_dcr -->|拡張対象| s_oauth2
s_openid4vci -->|土台とする仕様| s_oauth2
s_openid4vp -->|土台とする仕様| s_oauth2
s_oidc_core -->|土台とする仕様| s_oauth2
s_oauth_security_bcp -->|組み合わせ| s_oauth2
s_browser_based_apps -->|拡張対象| s_oauth2
s_native_apps -->|拡張対象| s_oauth2
s_iss_authz_response -->|拡張対象| s_oauth2
s_jar -->|拡張対象| s_oauth2
s_refresh_token_expiration -->|拡張対象| s_oauth2
s_revocation -->|拡張対象| s_oauth2
s_aims -->|土台とする仕様| s_oauth2
解説
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
WG ドラフトdraft-ietf-oauth-v2-1-172026-10-31
OAuth 2.0 とそのセキュリティのベストプラクティスを統合する。すべての認可コードフローで PKCE を使い、implicit と password グラントを廃止し、リダイレクト URI の完全一致を求める。
- 置き換え予定: OAuth 2.0
- 土台とする仕様: PKCE
関係図
flowchart LR
s_oauth21["OAuth 2.1"]
s_oauth2["OAuth 2.0"]
s_pkce["PKCE"]
s_deferred_token_response["Deferred Token Response"]
style s_oauth21 stroke-width:3px
s_oauth21 -->|置き換え予定| s_oauth2
s_oauth21 -->|土台とする仕様| s_pkce
s_deferred_token_response -->|拡張対象| s_oauth21
解説
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
RFC として公開済みRFC 7636
使い捨ての秘密値で認可コードを要求元のクライアントに結び付け、横取りされたコードを引き換えられないようにする。
関係図
flowchart LR
s_pkce["PKCE"]
s_oauth2["OAuth 2.0"]
s_oauth21["OAuth 2.1"]
s_fapi2["FAPI 2.0 Security Profile"]
s_native_apps["OAuth 2.0 for Native Apps"]
style s_pkce stroke-width:3px
s_pkce -->|拡張対象| s_oauth2
s_oauth21 -->|土台とする仕様| s_pkce
s_fapi2 -->|土台とする仕様| s_pkce
s_native_apps -->|土台とする仕様| s_pkce
解説
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
RFC として公開済みRFC 9126
クライアントは認可リクエストを先にバックチャネルでサーバーへ送り、ブラウザーには参照値だけを渡す。
関係図
flowchart LR
s_par["Pushed Authorization Requests"]
s_oauth2["OAuth 2.0"]
s_fapi2["FAPI 2.0 Security Profile"]
s_jar["JWT-Secured Authorization Request"]
style s_par stroke-width:3px
s_par -->|拡張対象| s_oauth2
s_fapi2 -->|土台とする仕様| s_par
s_jar -->|組み合わせ| s_par
解説
公式に文書化された対応
- PingFederate (IdP): PAR(Pushed Authorization Request)エンドポイント 出典 (確認 2026-11-11)
- Keycloak (IdP): サーバーの対応機能として PAR を掲載 出典 (確認 2026-11-11)
- Spring Authorization Server (ライブラリ): PAR(Pushed Authorization Request)エンドポイント 出典 (確認 2026-11-11)
- Duende IdentityServer (ライブラリ): 対応仕様の一覧に RFC 9126 を掲載 出典 (確認 2026-11-11)
RFC として公開済みRFC 9396
粗いスコープ文字列の代わりに、金額や受取人を含む特定の支払いのような構造化された authorization_details を使う。
関係図
flowchart LR
s_rar["Rich Authorization Requests"]
s_oauth2["OAuth 2.0"]
s_rar_metadata_remediation["RAR Metadata and Error Remediation"]
style s_rar stroke-width:3px
s_rar -->|拡張対象| s_oauth2
s_rar_metadata_remediation -->|拡張対象| s_rar
解説
公式に文書化された対応
- Auth0 (IdP): PAR を使う認可コードフローと CIBA で authorization_details を扱う 出典 (確認 2026-11-11)
- PingFederate (IdP): OAuth の Rich Authorization Requests に対応 出典 (確認 2026-11-11)
- node-oidc-provider (ライブラリ): 実装済み仕様の一覧に RFC 9396 を掲載 出典 (確認 2026-11-11)
RFC として公開済みRFC 8628
テレビや CLI のようにブラウザーやキーボードのないデバイスが、ユーザーに別のデバイスで承認してもらってトークンを取得する。
関係図
flowchart LR
s_device_grant["Device Authorization Grant"]
s_oauth2["OAuth 2.0"]
s_cross_device_bcp["Security of Cross-Device Flows"]
style s_device_grant stroke-width:3px
s_device_grant -->|拡張対象| s_oauth2
s_cross_device_bcp -->|組み合わせ| s_device_grant
解説
公式に文書化された対応
- Microsoft Entra ID (IdP): デバイス認可グラントに対応 出典 (確認 2026-11-11)
- Okta (IdP): org とカスタムの両方の認可サーバーでのデバイス認可グラント 出典 (確認 2026-11-11)
- Keycloak (IdP): サーバーの対応機能としてデバイスフローを掲載 出典 (確認 2026-11-11)
- Authlib (ライブラリ): RFC 8628 の汎用実装を提供 出典 (確認 2026-11-11)
WG ラストコール・取りまとめdraft-ietf-oauth-first-party-apps-042026-08-26
認可サーバーと同じ事業者が提供するアプリ向けに、ブラウザーのリダイレクトを使わないネイティブな認可チャレンジのフローを定める。
関係図
flowchart LR
s_first_party_apps["OAuth for First-Party Apps"]
s_oauth2["OAuth 2.0"]
style s_first_party_apps stroke-width:3px
s_first_party_apps -->|拡張対象| s_oauth2
解説
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
状態不明
認可レスポンスに iss パラメータを加え、どの認可サーバーが応答したかをクライアントが判別できるようにする。mix-up 攻撃への対策。
関係図
flowchart LR
s_iss_authz_response["Authorization Server Issuer Identification"]
s_oauth2["OAuth 2.0"]
style s_iss_authz_response stroke-width:3px
s_iss_authz_response -->|拡張対象| s_oauth2
開く
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
状態不明
認可要求のパラメータを署名 (任意で暗号化) した JWT に入れ、値または参照で渡す。要求に完全性・送信元認証・機密性を与える。
関係図
flowchart LR
s_jar["JWT-Secured Authorization Request"]
s_oauth2["OAuth 2.0"]
s_jwt["JSON Web Token"]
s_par["Pushed Authorization Requests"]
style s_jar stroke-width:3px
s_jar -->|拡張対象| s_oauth2
s_jar -->|土台とする仕様| s_jwt
s_jar -->|組み合わせ| s_par
開く
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
状態不明
リフレッシュトークンと、その元になるユーザー認可の有効期限をクライアントに伝える、トークンエンドポイントの新しい応答パラメータ。
関係図
flowchart LR
s_refresh_token_expiration["Refresh Token and Authorization Expiration"]
s_oauth2["OAuth 2.0"]
style s_refresh_token_expiration stroke-width:3px
s_refresh_token_expiration -->|拡張対象| s_oauth2
開く
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
状態不明
トークンエンドポイントがトークンの代わりに deferral code とポーリング間隔を返せるようにし、どのグラントでもポーリングやコールバックで非同期に完了できるようにする。
関係図
flowchart LR
s_deferred_token_response["Deferred Token Response"]
s_oauth21["OAuth 2.1"]
style s_deferred_token_response stroke-width:3px
s_deferred_token_response -->|拡張対象| s_oauth21
開く
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。
状態不明
サーバーが対応する authorization details の型を発見するためのメタデータと、authorization details 不足による失敗を通知・是正する標準的な方法。
関係図
flowchart LR
s_rar_metadata_remediation["RAR Metadata and Error Remediation"]
s_rar["Rich Authorization Requests"]
s_as_metadata["Authorization Server Metadata"]
style s_rar_metadata_remediation stroke-width:3px
s_rar_metadata_remediation -->|拡張対象| s_rar
s_rar_metadata_remediation -->|組み合わせ| s_as_metadata
開く
公式に文書化された対応
出典付きの対応情報はまだ集めていない。普及していないという意味ではない。