-1

我使用 js sdk 通过 facebook 登录我的网站。如果用户第一次访问我的网站并尝试登录,它工作正常。如果用户登录 facebook 并访问我的网站,它也可以正常工作。但是,如果用户从 facebook 和我的网站注销并在单击登录按钮后转到我的网站,他会看到弹出窗口并输入他们的电子邮件并通过 facebook。在他单击登录后,它会显示带有此 url的空白弹出窗口。

如果 facebook 知道该用户已获得我网站的授权,我不明白为什么它会请求许可。

这是我的代码

<html>
<head>
    <meta charset="utf-8">
</head>
<body>
    <div id="fb-root"></div>
    <script type="text/javascript">
        window.fbAsyncInit = function () {
            FB.init({ appId: 189221317879406, status: true, cookie: true, xfbml: true, oauth:true });
        };
        (function () {
            var e = document.createElement('script');
            e.type = 'text/javascript';
            e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
            e.async = true;
            document.getElementById('fb-root').appendChild(e);
        } ());  
        function loginWithFacebook(){
            FB.login(function(response) {
                if (response.authResponse) {
                    //FB.api('/me', function(response) {alert(response.name);});
                    window.location.href='http://mysite.com/home/';
                }
            },
            {scope: 'user_photos,friends_photos,user_birthday,friends_birthday,user_education_history,friends_education_history,user_location,friends_location,user_relationships,friends_relationships,user_work_history,friends_work_history'}); 
        } 
    </script>
    <a href="#" onclick="loginWithFacebook()">
            <img src="/files/images/facebook-login-button.png" style="width: 90px; height: 90px;"></a>
</body>

4

1 回答 1

0

我的代码错了。有必要的添加选项 - channelURL: '//site.com/channel.php' http://developers.facebook.com/docs/reference/javascript/#channel

于 2012-11-13T07:26:50.600 回答