Google OAuth令牌请求返回“invalid_client”:“未经授权”

问题描述 投票:2回答:1

尝试让OAuth2 Google登录正常工作,这是我的应用程序发出的原始请求:

方法:POST

网址:https://www.googleapis.com/oauth2/v3/token

标题:Content-Type: application/x-www-form-urlencoded

价值观:

client_idXXX-0123456789abcdef0123456789abcdef.apps.googleusercontent.com

client_secretA1b2C3d4E5f6G7h8I9j0K1l2M

code1/A1b2C3d4E5f6G7h8I9j0K1l2M3n4O5p6Q7r8S9t0U1v

grant_typeauthorization_code

redirect_urihttp://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也能正常工作,但如果我无法解决这个问题,那我恐怕不行将不得不放弃谷歌认证。

python google-api google-oauth rauth
1个回答
2
投票

无效的客户端意味着您使用的客户端ID或客户端密钥无效。它们必须是您从Google Developer Console下载的内容。

提示:您可能需要考虑使用Google python client

© www.soinside.com 2019 - 2024. All rights reserved.