GetOpenIdConnect返回无效凭据

时间:2016-07-14 20:24:02

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

上下文

我们已成功使用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云端硬盘授权您的应用中所述。

我们尝试过这两种方法并收到同样的错误。

1 个答案:

答案 0 :(得分:1)

我们在Authorization标头中意外使用了id_token。我们需要确保使用access_token代替。