用Facebook oauth登录,没有完整的facebook.com访问权限

sbo*_*sje 8 ssl proxy facebook oauth facebook-oauth

我正在开发的Web应用程序需要用户才能通过Facebook OAauth登录.但问题是,所有这些用户都在阻止访问facebook.com(公司政策)的防火墙后面.我们已经研究了几种解决方案来解决这个问题,比如:

  • 在Facebook和用户之间放置(鱿鱼)代理.这可以解决问题,因为squid支持基于细粒度的基于正则表达式的ACL.但是,大多数Facebook OAuth策略都在www.facebook.com上运行,并且如果用户使用HTTPS(这是强制性的),则无法检查PATH_INFO以将特定路径列入白名单.
  • 在防火墙的DMZ中添加类似代理的站点,它只是传递并改变了URL/Facebook请求.这显然不是要走的路,因为它基本上意味着用户将他们的凭据留在我们的服务器上,这违反了Facebook的条款.
  • 稍微放松防火墙以启用OAuth身份验证所需的IP地址,但据我们所知,没有专门的IP或子域只是用于身份验证(如果graph.facebook.com提供某些内容,那将会很好像这样).

有替代解决方案的想法吗?这甚至可能吗?

Igy*_*Igy 4

不能,因为 API 的 OAuth登录过程通过将用户发送到 facebook.com 上的 HTTPS URL 来工作,因此您将无法轻松区分设置应用程序登录所需的流量和 Facebook.com 的其他流量

尝试使用“Like Button”等社交插件来验证 Facebook 用户时,您会遇到同样的问题 - 您无法轻松地将插件的流量与 facebook.com 的其他流量分开