我有一个网站已经与 Facebook 登录集成,使用服务器端身份验证。
我有一个问题要把它变成在 Facebook 下运行的应用程序。
问题是 Facebook 根本不显示身份验证页面
因此,我什至没有真正进入服务器身份验证过程。
现在,该应用程序正在我的本地计算机上运行。
我的应用程序被定义为 Facebook 应用程序:(仅出于站点安全目的在 localhost 之前添加空白)
- 画布网址:http://localhost:4300/fbopt/
- 安全画布 URL:https://localhost:4303/fbopt/"
[在沙盒中运行时会出现同样的问题,没有安全 URL]
我有一个带有“转到应用程序”按钮的“粉丝页面”。按下按钮将我带到 URL:https://apps.facebook.com/[appid]/?fb_source=timeline
浏览器开始加载带有框架的页面。较低的框架向我提供的 URL 发出 POST 请求。
我的应用程序将页面重定向到以下 URL:
https://www.facebook.com/dialog/oauth?client_id=[appid]&redirect_uri=https://localhost:4303/fbopt/hook&scope=email,user_location,user_birthday
我希望 Facebook 能够显示具有所需权限的应用程序身份验证表单。
不幸的是,这不会发生。框架内显示一个空页面,HTML 是空的!
我看到(从 Chrome 网络调试器)确实访问了 URL,但响应是 HTTP 200 状态(不是错误),但没有响应数据。相反,得到
X-Frame-选项:拒绝
响应标头 - 在帧内渲染被拒绝!为什么?
在 Facebook 框架结构之外“手动”加载上面的 URL 时,我确实获得了具有正确权限的身份验证屏幕。
我想知道让它与画布一起工作缺少什么。
关于我应该添加什么或如何调试此类问题的任何提示 - 将不胜感激。
谢谢,麦克斯