离线时没有刷新令牌/权限来访问数据(google-oauth)

时间:2013-08-19 15:32:36

标签: google-oauth

根据此处的文件:

https://developers.google.com/accounts/docs/OAuth2WebServer#offline

查询字符串中具有access_type = offline的请求应授予在用户离线时访问数据的权限,并导致谷歌在用户接受时发送刷新令牌。这种情况不再发生在几天前。有没有人知道改变了什么,或者是否有更好的方法来获取访问/刷新令牌?

显然,如果您尝试链接的帐户已授予权限,则可能会发生这种情况(在这种情况下,您需要在再次尝试之前撤消该Google帐户的权限)。在我们的例子中,即使撤销权限也会发生。

1 个答案:

答案 0 :(得分:1)

如果您要求离线访问但仍未获得刷新令牌,则表示该特定用户已发出刷新令牌,并且授权请求已自动批准。请参阅“重要”块。

可能是为该给定用户发布了多个刷新令牌,您是如何撤销权限的?

为了从这种情况中恢复,您必须通过向请求添加prompt = none来禁止自动批准(approval_prompt = force是旧方法): https://developers.google.com/accounts/docs/OAuth2Login#authenticationuriparameters

请确保仅在这些极端情况下禁止自动批准。