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

时间:2012-01-24 22:52:57

标签: facebook ssl oauth proxy facebook-oauth

我正在开发的网络应用程序需要用户才能通过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会很好会提供这样的东西)。

有关备用解决方案的任何想法吗?这甚至可能吗?

1 个答案:

答案 0 :(得分:4)

不,因为API的OAuth Login进程通过将用户发送到facebook.com上的HTTPS网址来工作,您将无法轻松区分设置登录到您的应用所需的流量以及Facebook.com的其他流量

尝试使用类似按钮的社交插件验证Facebook用户时会遇到同样的问题 - 您无法轻松地将插件和其他流量的流量分离到facebook.com