我正在尝试通过javascript api使用Google+登录按钮。在Windows计算机和Chromebook上一切正常,但在我能够测试它的每台Mac上都失败了。 (请参阅下面的更新2,这实际上不是Mac问题)
加载初始Google api文件(https://apis.google.com/js/client:platform.js)时,控制台中会记录一条错误,指出https://accounts.google.com/o/oauth2/iframerpc?scope=email+profile&response_type=token+id_token&login_hint=[HINT]&origin=[ORIGIN]&action=issueToken&ss_domain=[SS_DOMAIN]&hd=[HD]&client_id=[CLIENT_ID]&hl=en&from_login=1&as=[AS]返回了服务器端错误。当我直接在浏览器中提取URL时,我得到一个带有一个属性的JSON对象:
{"error":"internal_server_error"}
这只发生在Mac计算机上(谷歌浏览器,没有尝试过其他浏览器),并且在隐身窗口中一切正常。 (请参阅下面的更新,Mac不是问题)
更新
我确定只有在用户登录多个Google帐户时才会出现这种情况;而且,只有当用户尝试使用其中一个未标记为"默认"的帐户尝试对我的网站进行身份验证时。帐户(例如,他们签署的第一个Google帐户)。
这也发生在Safari上。
更新2:
这不是Mac问题,只是巧合的是,受影响的5个用户都使用Mac(尽管我们公司可能只有200个用户中有10个使用Mac,而且是唯一的人报告此错误恰好是使用Macs。)
真正的问题发生在任何计算机上,但只有当用户登录多个Google帐户并尝试使用他们的某个Google帐户进行身份验证时,该帐户不是"默认"帐户。
P.S。感谢@brenjt的主题更新,结果证明非常准确。
答案 0 :(得分:0)
感谢报告,布莱尔。我们花了一段时间来深入研究这个问题的根本原因,并得到了你的评论的帮助。假设它是我们认为的错误 - 我们在上周三推出了解决问题的解决方案。如果情况不是这样,请告诉我!