我通过PHP使用OAuth 2.0为用户提供访问其Google Analytics数据的权限,作为CMS的一部分 . 我已经以编程方式选择了“离线”模式,因此我在验证后会收到访问令牌和刷新令牌 . 当访问令牌到期时,我使用刷新令牌来获取新的访问令牌 . 一切都很好,事情很好 .
问题是我的应用程序的某些用户在我的应用程序中有两个或更多[合法]帐户:
account_1@myapp.com
account_2@myapp.com
并且两者都需要访问来自同一Google帐户的数据:
account@google.com
当他们首次授权account_1@myapp.com访问account@google.com的数据时,会按预期发回访问令牌和刷新令牌 . 但是当他们尝试授权account_2@myapp.com时,只会发回一个访问令牌(可能是因为刷新令牌已经由Google发出) .
有没有办法再次请求刷新令牌而不重置它?
1 回答
您是否已探索过将approval_prompt = force添加到授权请求中?请参阅Google OAuth 2论坛上的this discussion .