Go言語OAuth 2.0実装ガイド|認可コード・PKCE・トークン管理
Go言語でWebアプリケーションやAPIを作るとき、外部サービス連携、会員ログイン、管理画面、モバイル連携、マイクロサービス間通信などでOAuth 2.0を扱う場面は多くあります。OAuth 2.0は「利用者のパスワードをアプリケーションへ渡さず、限定された権限で保護された資源へアクセスさせる」ための認可の枠組みです。OAuth 2.0の中核仕様であるRFC 6749は、認可サーバー、資源サーバー、クライアント、資源所有者という役割と、認可付与を使ってアクセストークンを取得する流れを定義しています。
ただし、OAuth 2.0は便利な一方で、実装を間違えると危険です。リダイレクトURIの検証不足、状態値の不足、トークンの漏えい、秘密値の直書き、リフレッシュトークンの保存ミス、認証と認可の混同などは、Go言語の実装でも起こり得ます。2025年に発行されたRFC 9700は、OAuth 2.0の現在の安全な実装慣行をまとめ、RFC 6749やBearer Token Usageの安全助言を更新・拡張する文書として位置付けられています。
EN
JP
KR