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 开头。
在我的笔记本电脑上一切正常。但是,我无法让它在互联网上的网站上工作。
这是我系统的环境:负载均衡器设备将请求分发到两个戴尔盒子。负载均衡器接受HTTPS请求并将HTTP请求发送到盒子。
以下是我在 Internet 站点上的体验:当我单击 Facebook 按钮开始使用 Facebook 进行身份验证时,我被定向到 Facebook 登录。输入正确的用户名和密码后,我被重定向到我的站点,但出现异常:这是异常消息:
响应正文:{"error":{"message":"无法加载 URL:此 URL 的域不包含在应用程序的域中。要能够加载此 URL,请添加应用程序的所有域和子域到您的应用设置中的应用域字段。","type":"OAuthException","code":191,"fbtrace_id":"GeA8sXoebS3"}}
我example.com
在 Facebook 的 App Domains 领域有过,但它仍然失败。系统设置(包括负载均衡器)是否在这里发挥作用?我相信是这样,但不知道如何解决它?花了相当多的时间,没有成功。
任何建议和信息将不胜感激。
更新
我的网站已经使用 SSL 很长时间了。它与 Facebook 的身份验证以前是有效的,但现在不是因为 Facebook 最近强加的“https”要求。
解决方案
推荐阅读
- excel - VBA:使用对象变量循环字典中的项目
- haskell - 在 Haskell Stack 中使用本地包
- reactjs - 是否可以在本机反应中动态加载选项卡?
- c++ - 向量元素大小
- javascript - 反正有没有使用javascript(仅限node.js)(discord bot)截屏?
- wordpress - 有没有办法自动向所有 WordPress Post URLS 添加查询参数?
- sql - 如何在 Laravel eloquent 中使用 group by 获取最后一行
- javascript - 从路由器调用时,module.exports 返回 undefined
- alexa-skills-kit - 用于创建 Alexa 智能家居技能的基于 TypeScript 的模板
- gremlin - Gremlin 获取具有特定边缘类型的传入边缘数量最少的顶点