web-dev-qa-db-ja.com

Google更新トークンの有効期限はありますか?

リフレッシュトークンをテストのために短期間で数回使用しましたが、Googleリフレッシュトークンは期限切れになるのでしょうか?または、同じリフレッシュトークンを呼び出して、別のアクセストークンを長期間(1週間または数か月間)繰り返し取得できますか?

98

Google Authサーバーが発行した更新トークンは期限切れになりません。これが更新トークンの要点です。ユーザーがアプリケーションへのアクセスを取り消すと、リフレッシュトークンは期限切れになります(または、無許可になると言うべきです)。

これを参照してください doc 更新トークンの機能を明確に述べています。

サーバーは、長持ちするトークン(通常は1年または無期限の有効期間)を発行する代わりに、短命のアクセストークンと長寿命の更新トークンを発行できます。つまり、アクセスを許可したユーザーがアプリケーションへのアクセスを取り消すまで、リフレッシュトークンを繰り返し使用できます。

134
Shadow

これは非常に紛らわしいスレッドです。最初の答えは正しいように見えますが、実際にはグーグルから権威あるものを引用していません。

私が見つけた最も決定的な答えは、実際にはトークンを取得する開発者の遊び場です。ステップ2の下部には、次のようなメモがあります。

「注:OAuth Playgroundは更新トークンを保存しませんが、更新トークンが期限切れになることはないため、ユーザーが手動で取り消す場合は、Googleアカウントの承認済みアクセスページに移動する必要があります。」

https://developers.google.com/oauthplayground/

52
Josh Hunter

私はそれが完全に真実だとは思わない:

発行される更新トークンの数には制限があることに注意してください。クライアント/ユーザーの組み合わせごとに1つの制限があり、すべてのクライアントのユーザーごとに別の制限があります。リフレッシュトークンは長期ストレージに保存し、有効である限り使用し続ける必要があります。アプリケーションが要求するリフレッシュトークンが多すぎる場合、これらの制限に達する可能性があり、その場合、古いリフレッシュトークンは機能しなくなります。

このページから: https://developers.google.com/youtube/v3/guides/authentication#installed-apps

これはyouTubeのドキュメント(他のapiのドキュメントよりもはるかに優れていると思う)からですが、すべてのGoogleアプリで同じだと思います。

14
Roaders

これを見てください:

更新トークンは、ユーザーがアクセスを取り消すまで有効です。このフィールドは、access_type = offlineが認証コードリクエストに含まれている場合にのみ表示されます。

in https://developers.google.com/accounts/docs/OAuth2WebServer

4
karl

これについては2017年にルールが変更されたので、製品に依存するというのが最善の答えだと思います。たとえば、Gmail APIでは、Oauth 2.0リフレッシュトークンはパスワードの変更時に期限切れになります。これを参照してください。 https://support.google.com/a/answer/6328616?hl = en

以前はAPIアクセスを事前に設定し、新しいgmailユーザーを設定するときに更新トークンを生成していました。その後、メールをアーカイブできました(法律で設定する必要があります)が、パスワードを変更するとすぐに更新トークン取り消されます。

おそらく、YouTube、マップの場合、更新トークンはまだ本当に長持ちしますが、Gmail APIの場合は、短いトークンを頼りにしています。

3
TonyE

リフレッシュトークンの主な概念は、トークンが長持ちし、有効期限が切れないことです。

アクセストークンには有効期限があり、有効期限が切れます。有効期限が切れると、ユーザーがアカウントから取り消すまで何度も何度も使用されるリフレッシュトークンを使用できます。

2
Shiven Ojha