Facebook在画布下运行时不显示身份验证
我有一个网站已经集成了Facebook登录,使用服务器端身份验证 我有一个问题要把它变成一个在Facebook下运行的应用程序 问题是Facebook根本不显示身份验证页面 因此,我甚至没有真正进入服务器身份验证过程 现在,应用程序正在我的本地计算机上运行 我的应用程序被定义为Facebook应用程序:(仅出于网站安全目的在localhost前添加空白)Facebook在画布下运行时不显示身份验证,facebook,facebook-graph-api,authentication,Facebook,Facebook Graph Api,Authentication,我有一个网站已经集成了Facebook登录,使用服务器端身份验证 我有一个问题要把它变成一个在Facebook下运行的应用程序 问题是Facebook根本不显示身份验证页面 因此,我甚至没有真正进入服务器身份验证过程 现在,应用程序正在我的本地计算机上运行 我的应用程序被定义为Facebook应用程序:(仅出于网站安全目的在localhost前添加空白) 画布URL:http://localhost:4300/fboot/ 安全画布URL:https://localhost:4303/fboo
- 画布URL:http://localhost:4300/fboot/
- 安全画布URL:https://localhost:4303/fboot/“
Max你的应用程序中有
iframe
吗?发送X-Frame-Options
内容DENY
是Facebook对付点击劫持的方法。更多信息:
看起来像我根本的问题是我试图重定向整个页面,而不是进行帧重定向 从这里开始: 我去了这里: 它说: 由于您的应用程序正在iframe中加载,因此返回302将用户重定向到登录对话框将不成功。相反,您必须通过设置Javascript window.top.location属性进行重定向,这将导致父窗口重定向到登录对话框URL 这可能是我最大的错误
Max我也遇到过同样的问题。302重定向之所以有效,是因为我使用了很多重定向功能,但你无法出于任何原因重定向到facebook域。如果你愿意,你可以通过javascript执行顶部重定向。我所做的是创建一个html,它接受url并将其加载到top.location,然后重定向回apps.facebook.com。使用X-frame最有可能因为您有一个AntiForgeryToken(如果使用.net),因为这将在头中插入xframe sameorigin。您可以使用
AntiForgeryConfig.SuppressXFrameOptionsHeader = true;