尝试让OAuth2 Google登录工作,这是我的应用程序发出的原始请求:
方法:POST
URL:https://www.googleapis.com/oauth2/v3/token
标头:Content-Type: application/x-www-form-urlencoded
值:
client_id
:XXX-0123456789abcdef0123456789abcdef.apps.googleusercontent.com
client_secret
:A1b2C3d4E5f6G7h8I9j0K1l2M
code
:1/A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6Q7r8S9t0U1v
grant_type
:authorization_code
redirect_uri
:http://localhost:5000/callback/google/
这是响应:
状态:401 Unauthorized
正文:
{
"error": "invalid_client",
"error_description": "Unauthorized"
}
我已经验证过这是我的应用程序发出的确切请求/响应(使用Flask和rauth的Python应用程序),并且已经验证我可以使用Postman复制完全相同的请求/响应。
根据其他主题中的说明,在Google API控制台中执行了以下所有操作:
- 在“OAuth同意屏幕”设置中,将“产品名称”设置为与“项目名称”不同的名称
- 还在“OAuth同意屏幕”设置中,双重检查电子邮件是否设置
- 启用Google+ API
- 启用Gmail API
- 重新创建客户端ID /密钥
- 仔细检查客户端ID /密钥值中是否有前导或尾随空格,我已正确从API控制台复制它们
无论我做什么,仍然得到相同的"invalid_client": "Unauthorized"
响应。
对此的帮助将不胜感激。我正在尝试在我的应用程序中设置基于OAuth2的“使用X登录”功能,并已成功处理Facebook和Twitter,希望也能使Google工作,但如果我无法解决此问题,我恐怕必须放弃Google认证。