Google OAuth1到OAuth2迁移 - 再次显示同意屏幕

时间:2014-09-26 17:52:02

标签: google-oauth google-apps-marketplace

我遵循OAuth1到OAuth2迁移文档,并且能够获得新的refresh_token和access_tokens。

问题是,Google再次显示审批屏幕并列出所有范围。迁移凭据的重点是用户不应该看到批准屏幕。

这是我的迁移POST请求:

  

POST https://accounts.google.com/o/oauth2/token HTTP / 1.1   授权:OAuth realm ="",oauth_consumer_key = [消费者]   KEY]",oauth_nonce =" 2c06a5da90ec4a62b737bdfb3922d675",oauth_signature_method =" HMAC-SHA1",oauth_timestamp =" 1411677478",组oauth_token =" [OAUTH   TOKEN]",oauth_signature =" OL%2b2JdOBCKcND8cSHSmHQMRN5NI%3D"   内容类型:application / x-www-form-urlencoded主机:   accounts.google.com内容长度:194期望:100-continue   连接:保持活力   grant_type =瓮%3aietf%3aparams%3aoauth%3agrant型%3amigration%3aoauth1&安培; CLIENT_ID =安培; client_secret = [GENERATED   SIGNATURE]

此外,如果我检查https://security.google.com/settings/security/permissions?pli=1页面以查看我已授予访问权限的应用程序,我会在那里看到我的新应用程序,其中包含旧应用程序具有的所有范围。

我还确保我不包含 approval_prompt = force

有什么想法?假设用户在迁移后没有看到批准屏幕,我错了吗?

2 个答案:

答案 0 :(得分:1)

您是对的,迁移凭据的重点是用户不应该看到批准屏幕。但是,如果您添加了任何新的范围,可能会使用某些API,其中大多数都要求用户授予权限,因此将再次显示批准屏幕。

答案 1 :(得分:1)

您能否澄清步骤以及用户何时看到批准页面?迁移后您的OAuth2令牌有哪些范围?

迁移是针对您存储在后端的OAuth1令牌。使用迁移步骤,您可以将这些转换为OAuth2刷新令牌。您可以开始使用这些来调用Google API,而无需用户在您的网站上显示。

根据您获得这些OAuth1令牌的方式,您需要更改该机制以开始获取OAuth2令牌。一般情况下,您只想为已经存储了刷新令牌的用户执行此操作,因为没有必要获得新的刷新令牌(如果这样做,他们可能会看到批准屏幕)。