2014-09-26 51 views
0

我将OAuth1关注到OAuth2迁移文档,并能够获取新的refresh_token和access_tokens。Google OAuth1到OAuth2迁移 - 再次显示同意屏幕

问题是,Google再次显示批准屏幕并列出所有范围。迁移证书的关键在于用户不应该看到批准屏幕。

这里是迁移我的POST请求:

POST https://accounts.google.com/o/oauth2/token HTTP/1.1 授权:OAuth的境界= “”,oauth_consumer_key = [CONSUMER KEY] “oauth_nonce = ”2c06a5da90ec4a62b737bdfb3922d675“,oauth_signature_method =” HMAC-SHA1" ,oauth_timestamp = “1411677478”,组oauth_token = “[OAUTH TOKEN]”,oauth_signature = “OL%2b2JdOBCKcND8cSHSmHQMRN5NI%3D” 内容类型:应用/ X WWW的窗体-urlencoded主机: accounts.google .com内容长度:194期望值:100继续 连接:保持活跃 g rant_type =瓮%3aietf%3aparams%3aoauth%3agrant型%3amigration%3aoauth1 & CLIENT_ID = & client_secret = [GENERATED SIGNATURE]

更进一步,如果我检查https://security.google.com/settings/security/permissions?pli=1页面以查看我已授权访问哪些应用到那里,我看到我的新应用程序,以及旧应用程序所具有的所有范围。

我还相信,我不包括approval_prompt =力

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

回答

1

你说得对,迁移凭证的重点是用户不应该看到审批屏幕。但是,如果您添加了新的范围,也许使用一些API,则其中大多数需要用户授予权限,因此将再次显示批准屏幕。

+0

在这种情况下,它只应显示新范围的审批屏幕。我没有添加任何新的范围。另外,我确实看到范围从Google的权限页面转移过来,但仍显示批准屏幕。 – 2014-09-29 19:52:13

1

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

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

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