【问题标题】:GetOpenIdConnect returns Invalid CredentialsGetOpenIdConnect 返回无效凭据
【发布时间】:2016-07-15 04:47:43
【问题描述】:

上下文

我们已成功使用https://accounts.google.com/o/oauth2/auth 获得具有以下应用权限的authentication_code

  • 了解您在 Google 上的身份
  • 查看您的电子邮件地址
  • 查看您的基本个人资料信息

我们还成功地使用https://accounts.google.com/o/oauth2/token 将该身份验证代码交换为access_tokenid_token

问题

通过access_token,我们正在使用https://www.googleapis.com/plus/v1/people/me/openIdConnect 获取个人资料信息。这是一个带有以下标头的 GET 请求。

Authorization: Bearer access_token

Google 的响应总是这个错误:

 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "authError",
    "message": "Invalid Credentials",
    "locationType": "header",
    "location": "Authorization"
   }
  ],
  "code": 401,
  "message": "Invalid Credentials"
 }

This Google documentation 提出两个建议:

  • 使用长期刷新令牌刷新访问令牌。
  • 如果失败,请引导用户完成 OAuth 流程,如使用 Google Drive 授权您的应用中所述。

我们已经尝试了这两种方法并收到相同的错误。

【问题讨论】:

    标签: oauth-2.0 google-api google-plus openid-connect google-oauth


    【解决方案1】:

    我们不小心在 Authorization 标头中使用了 id_token。我们需要确保改用access_token

    【讨论】:

    • 救了我的命!我为此浪费了几乎一整天的时间。所有这些都非常复杂,文档很常见。使用 Google API 简直就是地狱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2012-05-22
    • 1970-01-01
    • 2014-06-28
    相关资源
    最近更新 更多