1

当有 facebook 会话用户时,我想在我的网站中禁用自动登录。我希望用户点击 facebook 登录按钮

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId: '<?php echo $facebook->getAppID() ?>',
      cookie: true,
      xfbml: true,
      oauth: true
    });
    FB.Event.subscribe('auth.login', function(response) {
      window.location.reload();
    });
    FB.Event.subscribe('auth.logout', function(response) {
      window.location.reload();
    });
  };
  (function() {
    var e = document.createElement('script'); e.async = true;
    e.src = document.location.protocol +
      '//connect.facebook.net/en_US/all.js';
    document.getElementById('fb-root').appendChild(e);
  }());
</script>
4

3 回答 3

1

就这样做吧。

FB.init({
    appId      : 'key',
    status     : false,
    cookie     : true,  // enable cookies to allow the server to access 
                              // the session
    xfbml      : true,  // parse social plugins on this page
    version    : 'v2.8' // use graph api version 2.8
});

并且自动登录将被禁用。只需将状态放在顶部即可。

于 2018-11-29T08:44:13.453 回答
0

而不是 facebook 事件,只需使用FB.Login

当用户单击您的登录按钮(不是 facebook 登录按钮,而是一个简单的按钮)时,调用 userLogin()

function userLogin()
    {
        FB.login(function(response) 
        {
           if (response.authResponse) 
           {
             console.log('Welcome!  Fetching your information.... ');
             var access_token = response.authResponse.accessToken;
             location.href = "REDIRECT_TO.php";
           } 
           else 
           {
             console.log('User cancelled login or did not fully authorize.');
           }
         });
    }   

所以现在,用户每次访问您的网站时都必须点击 facebook 登录按钮。

于 2012-12-24T08:00:18.180 回答
0

在 FB.init 中添加“status: false”。

这将阻止现有 Facebook 会话自动登录用户。

https://developers.facebook.com/docs/unity/reference/current/FB.Init

于 2015-01-14T19:07:34.967 回答