3

Web サーバーで oauth2 を使用していますが、フローは問題なく動作します (https://developers.google.com/accounts/docs/OAuth2WebServer)。

ただし、refresh_token を再取得する必要がある状況がいくつかあります (たとえば、refresh_token が「失われた」としましょう)。

この場合、ステージ 1 と 2 を再度実行すると、refresh_token ではなく access_token のみが取得されます。ユーザーが自分の Google アカウント コンソールからアクセス許可を取り消し、ステージ 1 と 2 を再度実行すると、新しい refresh_token が取得されます。

これは既知の oauth2 の動作ですか? 新しいrefresh_tokenを強制する方法、または同じものを再度取得する方法はありますか?

4

2 に答える 2

8

https://developers.google.com/accounts/docs/OAuth2WebServerから:

重要: アプリケーションが更新トークンを受け取ったら、将来の使用のためにその更新トークンを保存することが重要です。アプリケーションがリフレッシュ トークンを失った場合、別のリフレッシュ トークンを取得する前に、ユーザーに再度同意を求める必要があります。ユーザーに再度同意を求める必要がある場合は、承認コード要求に approval_prompt パラメーターを含め、値を強制に設定します。

于 2012-05-24T16:41:30.837 に答える