有没有办法使用JavaScript SDK在灯箱中提示权限?

时间:2012-05-31 03:52:46

标签: facebook-javascript-sdk platform facebook-canvas iframe-app

在FBML应用程序中,您可以提示扩展权限,如下所示:

Facebook.showPermissionDialog('publish_stream', callback);

这渲染了一个灯箱(很像FB.ui({method:'foo',display:'iframe'});确实如此。

从我在文档中看到的,现在提示更多扩展权限的唯一方法是使窗口弹出FB.login(),或者将用户重定向到oauth对话框全屏。我们不想依赖前者,因为弹出窗口不可靠,后者在我们的用户交互流程中毫无意义。灯箱是唯一有意义的方式。

如果oauth对话框可以显示为iframe,理论上该代码可以正常工作:

FB.ui({method: 'oauth',
    display: 'iframe',
    access_token: 'foo',
    scope: 'publish_stream'
    }, callback);

但是oauth对话框仅支持显示为“page”和“mobile”。

我有什么方法可以忽略吗?

1 个答案:

答案 0 :(得分:0)

考虑一下:当然 可以在iframe中使用auth对话框,因为它是安全问题

在弹出窗口中显示它或重定向到它使用户能够检查网站地址实际上是facebook.com。

如果您在灯箱中将身份验证对话框用作iframe或类似地方,那么我将无法看到它是否将其放入登录表单中的数据(如果我是当时没有登录到Facebook)实际上是发送到Facebook,或者如果您刚刚设置了自己的表单,将数据发送到您的服务器,因为您正在尝试 phish 我的Facebook登录数据......