Facebook登录没有弹出窗口?

Dav*_*ang 14 javascript facebook

我正在尝试创建一个简单的Facebook应用程序,但对于授权,它似乎总是被弹出窗口阻止程序阻止.我的代码是这样的:

FB.init({
        appId  : THEAPPPIDDDD,
            status : true,
            cookie : true,
            xfbml  : true,
   });


FB.login(function(response) {
           if (response.authResponse) {
               FB.api('/me', function(response) {
               FB.logout(function(response) {
                               console.log('Logged out.');
                           });
                   });
           } else {
               console.log('User did not authorize.');
           }
       });
Run Code Online (Sandbox Code Playgroud)

任何帮助将不胜感激...谢谢

Y P*_*Y P 29

我知道这个问题可能与另一个问题重复:停止facebook弹出窗口拦截器我将这个问题转发给Dave Zhang.我已经为我的一个网站修改了这段代码.在以下代码中,替换YOUR_APP_ID和您的网站网址,然后Facebook登录将无弹出窗口.

//Javascript
var uri = encodeURI('http://example.com');
FB.getLoginStatus(function(response) {
    if (response.status === 'connected') {
        window.location.href=uri;
    } else {
        window.location = encodeURI("https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri="+uri+"&response_type=token");
    }
});
Run Code Online (Sandbox Code Playgroud)

这只是直接重定向而不是打开弹出窗口.


小智 1

为了避免通过弹出窗口进行登录,您应该在服务器端启动身份验证