使用Facebook oauth登录,没有完整的Facebook.com访问 [英] Sign in with Facebook oauth, without full facebook.com access
问题描述
我正在开发的Web应用程序需要用户才能通过Facebook OAauth登录。但是问题是,所有这些用户都在阻止访问facebook.com(公司政策)的防火墙后面。我们已经研究了几种解决方案,例如:
A web application I'm currently developing needs users to be able to sign in via Facebook OAauth. However the problem is, all these users are behind a firewall that blocks access to facebook.com (company policy). We've looked into several solutions to get around this, like;
- 在Facebook和用户之间放置(鱿鱼)代理。这可以解决问题,因为squid支持基于正则表达式的细粒度的ACL。然而,如果用户使用HTTPS(这是强制性的),大多数Facebook的OAuth策略都可以在www.facebook.com上运行,并检查PATH_INFO是否将白名单列入白名单。
- 添加代理在防火墙的DMZ中,它只是传递和改变了urls / Facebook的请求。这显然不是方法,因为它基本上意味着用户在我们的服务器上离开他们的凭据,这是违反Facebook的条款。
- 松开防火墙一点只是启用IP OAuth身份验证所需的地址,但是据我们所知,没有专门的IP或子域仅用于身份验证(如果graph.facebook.com会提供这样的话,那将是很好的)。
替代解决方案的任何想法?这是甚么可能的吗?
Any ideas for alternate solutions? Is this even possible at all?
推荐答案
不,因为OAuth 登录进程的API通过将用户发送到facebook.com上的HTTPS URL,您将无法轻松区分所需的流量设置登录到您的应用程序和其他流量到Facebook.com
No, because the OAuth Login process for the API works by sending the user to a HTTPS URL on facebook.com you won't be able to easily distinguish between the traffic needed to setup the login to your app and other traffic to Facebook.com
您将遇到同样的问题,试图通过使用社交插件来验证Facebook用户,如像按钮 - 你不能轻易将插件和其他流量的流量分开到facebook.com
You'll have the same problem trying to verify a Facebook user by use of a social plugin like the Like Button - you can't easily separate the traffic for the plugin and other traffic to facebook.com
这篇关于使用Facebook oauth登录,没有完整的Facebook.com访问的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!