【问题标题】:Google Authentication error "500. That’s an error"Google 身份验证错误“500。这是一个错误”
【发布时间】:2017-05-02 11:18:03
【问题描述】:

从大约 1 周前开始,在尝试通过 Google 进行身份验证时,我不断收到来自 accounts.google.com 方面的500. That’s an error

第一个请求

https://accounts.google.com/o/oauth2/auth?scope=openid%20email%20https://adwords.google.com/api/adwords/%20https://www.googleapis.com/auth/drive%20https://spreadsheets.google.com/feeds%20https://docs.google.com/feeds&response_type=token&redirect_uri=https://<XXXXXX>/&state=<XXXX>2&client_id=<MY_CLIENT_NUMBER>.apps.googleusercontent.com&hd=

返回 200,然后是第二个请求

https://accounts.google.com/signin/oauth?hd&client_id=<app_id>.apps.googleusercontent.com&as=-XXXXXX&nosignup=1&destination=https://<my_app_uri>&approval_state=<somewhatrandomstate>&xsrfsig=<signature>

几乎总是以 500 失败。

我正在使用 Java Google API 客户端版本 1.22.0,并且我的应用程序部署在 AWS(区域 eu-central-1)上。我目前登录了多个 Google 帐户,因此会触发帐户选择器。

任何想法可能是什么问题?在此之前,此身份验证流程运行良好很长时间。

【问题讨论】:

  • 这可能有助于groups.google.com/forum/#!topic/oauth2-dev/MHH8LqxBSXI 500 身份验证服务器的错误难以诊断。
  • 你在哪里找到这个端点? accounts.google.com/signin/oauth
  • 我已经看到了,但这似乎无关紧要,尤其是因为这些帖子已经超过 5 年了。 Google 最近推出了可能相关的新帐户选择器(请参阅support.google.com/accounts/answer/7338427?
  • @DalmTo: acccounts.google.com/sigin/oauth 已经是 Google 方面不受我控制的东西(它是从 ssl.gstatic.com/accounts/o/2908553608 加载的脚本请求的- xsrfstatemanager.js:2)
  • 我注意到您的第一个请求具有没有值的“hd=”,而对 /signin/oauth 的请求具有无值的“hd”参数。这是 SO 上的复制粘贴错误还是您发送的真实请求?

标签: google-oauth google-api-java-client


【解决方案1】:

问题在于 Google 方面的行为发生了非常轻微的变化。主要处理hd参数。在此更改之前,hd 参数被接受甚至为空,但现在当它为空时,它通常以状态码 500 结束。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 2017-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-07-14
    • 2016-05-20
    相关资源
    最近更新 更多