facebook - 使用 XFBML 登录按钮要求用户进行两次身份验证

标签 facebook xfbml

我只是想设置 Facebook Connect 以允许在我已经建立的网站上选择使用注册表单注册,或者使用 Facebook Connect 注册(这真的应该比现在更容易,过时的文档让我发疯).当用户单击该按钮时,它会打开弹出窗口并要求允许我正确要求的内容。但是,当他们单击“允许”时,它会再次要求允许(但只是基本的个人资料信息)。这显然是由单击 fb:login-button 的默认操作触发的,即使他们已经登录并允许该应用访问他们的数据。

<fb:login-button size="medium" length="long" v="2" onclick="fb_login()"></fb:login-button>
<div id="fb-root"></div>
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script>
<script>
    FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true});

    function fb_login() {
        FB.login(function(response) {
            if (response.session) {
                if (response.perms) {
                    // they have allowed the app, continue with registration
                }
            }
        }, {perms:'email,user_birthday'});
    }
</script>

最佳答案

显然,您可以只在 FBML 中分配权限,并且可以完全绕过调用 FB.login。如果 Facebook 在他们的文档中提及这一点(咆哮),那就太好了。

<fb:login-button size="medium" length="long" v="2" perms="email,user_birthday" onlogin="fb_login()"></fb:login-button>
<div id="fb-root"></div>
<script src="http://static.ak.fbcdn.net/connect/en_US/core.js"></script>
<script>
    FB.init({appId: '<app_id>', status: true, cookie: true, xfbml: true});

    function fb_login() {
           // they have allowed the app, continue with registration
    }
</script>

关于facebook - 使用 XFBML 登录按钮要求用户进行两次身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2977193/

相关文章:

iphone - 我的 AppDelegate 未调用 FBConnect 的 handleOpenURL 方法

facebook - 如何使用单个域和 SSL 证书托管多个 Facebook 应用程序

c# - 如何在 Xamarin 中查找当前的 UIViewController

facebook - 使用 FB.XFBML.parse 重新渲染 Facebook 插件

jquery - 将书签链接添加到 Facebook IFRAME 应用程序

div :hover in IE8 and 9 not working correctly with facebook like box, 上的 CSS 边距变化偶尔跳跃

java - 如何将 facebook 与 java 桌面应用程序连接

javascript - 如何在 Facebook 中使用他们的 uid 显示用户的姓名?

javascript - 我怎样才能获得 fb :chat-invite using facebooks javascript sdk or xfbml 的功能

java - 通过 restFb java api 从 facebook 提取 react 数据?