OAuth 2.1は、OAuth 2.0の複数の補足仕様を統合し、セキュリティと一貫性を強化した新しい標準仕様です。主な変更点は以下の3つです。1つ目は「暗黙的フローの廃止」。アクセストークンの漏洩リスクを考慮し、より安全な認可コードフローの使用が推奨されます。2つ目は「PKCEの全クライアントへの必須化」。これによりコード傍受攻撃を防止し、全体的なセキュリティレベルが向上します。3つ目は「リダイレクトURIの厳格な一致」。オープンリダイレクタ攻撃を防ぐため、すべてのクライアントに対して完全な文字列一致が義務化されます。OAuth 2.1は、開発者がシンプルかつ安全にアプリケーションを設計・運用できるよう支援する、新時代の認可フレームワークです。
📊 比較表(OAuth 2.0 vs OAuth 2.1)
項目 | OAuth 2.0 | OAuth 2.1 |
暗黙的フロー | 許可されていた | 廃止(非推奨) |
PKCE | パブリッククライアント向けに任意 | すべてのクライアントで必須 |
リダイレクトURI | 完全一致は推奨 | 厳密な一致が必須 |
セキュリティベストプラクティス | 外部ドキュメントに分散 | 単一仕様に統合 |
承認フロー | 4種類(認可コード、暗黙、パスワード、クライアント) | 暗黙・パスワードは廃止、認可コード+PKCEが推奨 |