Spring Social:在具有负载均衡器的机器上通过Facebook进行身份验证

时间:2018-10-12 20:12:31

标签: spring-social spring-social-facebook

我的网站使用spring social(1.1.6.RELEASE)和spring social facebook(2.0.3.REALEASE)来允许用户使用其Facebook帐户登录。

最近,Facebook要求所有网站对“有效OAuth重定向URI”使用基于HTTPS的URI。这是我在Facebook上拥有的“有效OAuth重定向URI”:

https://www.example.com/signin/facebook   https://localhost/signin/facebook

我遵循了https://jira.spring.io/browse/SOCIAL-447的建议,并为FacebookConnectionFactory和OAuth2Template创建了自定义类,以便重定向URI可以以https开头。

一切都可以在我的笔记本电脑上正常运行。但是,我无法使其在Internet上的网站上正常工作。

这是我系统的环境:负载平衡器设备将请求分发到两个Dell机器。负载平衡器接收 HTTPS 请求,并将 HTTP 请求发送到框。

这是我在Internet站点上遇到的事情:当我单击Facebook按钮开始使用Facebook进行身份验证时,我被定向为Facebook登录。输入正确的用户名和密码后,我被重定向到我的站点,但是有一个例外:这是例外消息:

  

响应正文:{“错误”:{“消息”:“无法加载URL:此域   URL未包含在应用程序的域中。为了能够加载此URL,   将您应用的所有域和子域添加到“应用域”字段中   您的应用   设置。“,”类型“:” OAuthException“,”代码“:191,” fbtrace_id“:” GeA8sXoebS3“}}

我在Facebook的“应用程序域”字段中有example.com,但仍然失败。系统设置程序(包括负载平衡器)在这里是否起作用?我相信是这样,但不知道如何解决?花了相当多的时间,但没有成功。

任何建议和信息将不胜感激。

更新

我的网站使用SSL已有很长时间了。之前曾与Facebook进行过身份验证,但现在并不是因为Facebook最近强加了“ https”要求。

0 个答案:

没有答案