Facebook OAuth2 - “抱歉,出了点问题”

Cim*_*man 9 crash facebook-oauth

我们的网络应用程序允许用户通过 Facebook 登录。从技术上讲,我们使用的是 Facebook OAuth2。我们两年前就实现了这个登录流程。在 2015 年 11 月 13 日之前它都运行良好,但从那天起就不再运行了。 当我们的服务器发送带有适当参数(、、、 )的请求 https://graph.facebook.com/oauth/access_token时,来自 Facebook 的响应的 HTTP 状态为 400。响应正文是一个 HTML 页面,内容为“抱歉,发生了什么事”错误的”。client_idredirect_uriclient_secretcode

11月13日,Facebook可能出现了一些问题。我发现以下消息: http://www.independent.co.uk/life-style/gadgets-and-tech/news/facebook-down-site-breaks-for-many-people-though-not-for -大家-a6732906.html

然而,一周后我们的服务器仍然收到此错误响应。我们在生产环境中部署了一个系统实例,在测试环境中又部署了一个实例(具有不同的 Facebook 帐户,即具有不同的client_idclient_secret)。目前,Facebook登录在测试环境中运行良好。我不确定11月13日是否有效。

您有从此类问题中恢复的经验吗?为什么同一应用程序中 Facebook 登录在测试环境中有效,而在生产环境中不起作用?为什么生产实例在某一天出现故障,一周后仍然出现故障?

谢谢你的帮助。

小智 21

我遇到过同样的问题。我认为该问题源于您的身份验证请求中传递了无效范围。尝试删除身份验证请求中的范围以查看是否有效。

  • 只是有范围:openid 解决了我的问题。(删除了电子邮件配置文件)。但是我可以看到另一个问题,令牌端点在 facebook openid 配置中不可用 (2认同)

Cim*_*man 0

最后,通过重新启动 servlet 容器(Tomcat 7)解决了该问题。但是,我不知道为什么。

  • 你有没有发现原因?我在离子和节点服务器上遇到了完全相同的问题。它在我的测试环境中工作,但我将其移至我的服务器并给我“出了问题”消息。 (2认同)