YouTube Live Streaming API と統合するプログラムがあります。タイマーで実行されるので、リフレッシュ トークンを使用して 50 分ごとに新しいアクセス トークンを取得するようにプログラムするのは比較的簡単です。質問は、なぜでしょうか?
YouTube で認証すると、リフレッシュ トークンが与えられます。その後、このリフレッシュ トークンを使用して、1 時間に 1 回程度、新しいアクセス トークンを取得します。リフレッシュ トークンがあれば、有効期限がないため、いつでもこれを使用して新しいアクセス トークンを取得できます。そのため、最初からアクセス トークンを提供して、リフレッシュ トークン システム全体を煩わさないことよりも、これがより安全であるとは思えません。
ベストアンサー1
基本的に、リフレッシュ トークンは新しいアクセス トークンを取得するために使用されます。
これら2つのトークンを明確に区別し、混同しないようにするために、それぞれの機能を以下に記します。OAuth 2.0 認可フレームワーク:
- アクセス トークンは、リソース所有者の承認を得て認可サーバーによってサードパーティ クライアントに発行されます。クライアントはアクセス トークンを使用して、リソース サーバーによってホストされている保護されたリソースにアクセスします。
- リフレッシュ トークンは、アクセス トークンを取得するために使用される資格情報です。リフレッシュ トークンは、認可サーバーによってクライアントに発行され、現在のアクセス トークンが無効になったり期限切れになったりしたときに新しいアクセス トークンを取得するため、または同一またはより狭い範囲の追加のアクセス トークンを取得するために使用されます。
さて、なぜアクセストークンの確保だけでなくリフレッシュトークンの発行も行われているのかという質問にお答えすると、インターネットエンジニアリングタスクフォースが2011年に提供した主な理由は、リフレッシュトークンは:
セキュリティ上の理由により、 は
refresh_token
認可サーバーとのみ交換されますが、 はaccess_token
リソース サーバーと交換されます。これにより、「1 時間有効なアクセス トークンと、1 年間有効なリフレッシュ トークンまたは取り消しまで有効なアクセス トークン」と「リフレッシュ トークンなしで取り消しまで有効なアクセス トークン」で、長期間有効な access_token が漏洩するリスクが軽減されます。
OAuth 2.0 フローのより詳細で完全な情報については、次のリファレンスを参照してください。
- OAuth 2.0 フロー: サーバーサイド Web アプリ
- OAuth 2.0 認可フレームワークインターネットエンジニアリングタスクフォース(IETF)が発行
- SO投稿 -OAuth v2 にアクセス トークンとリフレッシュ トークンの両方があるのはなぜですか?