認可コードグラント
概要
最も重要で基本的なグラントタイプ
前提条件→クライアントがクライアントID、クライアントシークレットをセキュアに保存できる
コンフィデンシャルクライアント向け
サーバーサイドのウェブアプリなど
アクセストークンはwebサーバー側が保持
特徴
セキュア
アクセストークンがブラウザを介さずに直接クライアントと認可サーバー間で受け渡されるため
Http Basic認証でクライアントID/クライアントシークレットの確認を行う
リフレッシュトークンでのローテート
再度リソースオーナーの認証を行わなくても、再度アクセストークンを取得できる
認可コードを横取りするような攻撃
シーケンス
https://gyazo.com/569b76ec590c4fca988b26fabe0fed8b
10トークンリクエストでは(クライアントID、クライアントシークレット)で認証される
12リソースへのアクセス
この リクエスト の 投げ 方 は リソース サーバー の API 仕様 を 確認 する 必要 が あり ます。 OAuth の ルール として 共通 し て いる のは、 Authorization Header の 値 として「 Bearer」 という 文字列 と共に アクセストークン の 値 を 設定 する こと です。
参照