web-dev-qa-db-ja.com

「トークンの更新」の目的は何ですか?

YouTube Live Streaming APIと統合するプログラムがあります。タイマーで実行されるため、リフレッシュトークンを使用して50分ごとに新しいアクセストークンをフェッチするようにプログラムするのは比較的簡単でした。私の質問は、なぜですか?

YouTubeで認証すると、更新トークンが渡されました。次に、この更新トークンを使用して、約1時間に1回新しいアクセストークンを取得します。リフレッシュトークンを持っている場合、期限切れになることはないため、常にこれを使用して新しいアクセストークンを取得できます。そのため、最初からアクセストークンを提供し、リフレッシュトークンシステム全体に煩わされることなく、これがどのように安全であるかはわかりません。

27
Jason Axelrod

基本的に、更新トークンは新しいアクセストークンを取得するために使用されます。

これら2つのトークンを明確に区別し、混同を避けるために、以下にそれらの機能を示します The OAuth 2.0 Authorization Framework

  • アクセストークンは、リソース所有者の承認を得て承認サーバーによってサードパーティのクライアントに発行されます。クライアントはアクセストークンを使用して、リソースサーバーによってホストされている保護されたリソースにアクセスします。
  • 更新トークンは、アクセストークンの取得に使用される資格情報です。更新トークンは、承認サーバーによってクライアントに発行され、現在のアクセストークンが無効または期限切れになったときに新しいアクセストークンを取得するため、または同一またはより狭いスコープで追加のアクセストークンを取得するために使用されます。

ここで、アクセストークンを保護するだけでなく、更新トークンがまだ発行されている理由に関する質問に答えるために、インターネットエンジニアリングタスクフォースが Refresh tokens で提供する主な理由は次のとおりです。

セキュリティ上の理由、refresh_tokenは承認サーバーとのみ交換されるのに対し、access_tokenはリソースサーバーと交換されます。これにより、「1時間有効なアクセストークン、1年間有効なリフレッシュトークン、または有効期限が切れるまで有効なアクセストークン」での長寿命のaccess_tokenリークのリスクが軽減されます。トークン。"

OAuth 2.0 Flowのより詳細で完全な情報については、以下の参照を試してください。

35
Teyam