正确的方式将Facebook登录添加到网站

时间:2017-10-07 21:08:43

标签: facebook facebook-javascript-sdk facebook-login

我想在我的网站上添加Facebook登录,我的脚本工作正常,但我不确定这种方式是否正确,你能否验证并建议如果我做错了。我几乎没有问题。

脚本:

  function statusChangeCallback(response) 
  {
    if (response.status === 'connected') {
        testAPI();
    } else if (response.status === 'not_authorized') {
      console.log('still not authorized!');
    } else {
      console.log("not connected, not logged into facebook, we don't know");
    }
  }

  window.fbAsyncInit = function() {
    FB.init({
      appId      : 'APP_ID',
      cookie     : true,
      xfbml      : true,
      version    : 'v2.8'
    });
    checkLoginState();
    FB.AppEvents.logPageView();   
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "//connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

   function checkLoginState() {
      FB.getLoginStatus(function(response) {
        statusChangeCallback(response);
    });
   }

  function testAPI() {
    console.log('Welcome!  Fetching your information.... ');
    FB.api('/me', { fields: 'name,email,gender' }, function(response) {
      console.log('Successful login for: ' + response.name);
      document.getElementById('status').innerHTML =
        'Thanks for logging in, ' + response.name + '!';
      window.location.replace('http://www.example.com');
    });
  }

按钮显示:

<div class="fb-login-button" data-onlogin="checkLoginState()" data-max-rows="1" data-size="medium" data-button-type="login_with" data-show-faces="false" data-auto-logout-link="false" data-login-text="Sign in with Facebook"></div>
  1. 成功登录后,我想通过传递id,电子邮件重定向到members-only.php。在上面的脚本中我写了window.location.replace('http://www.example.com');相反example.com,我可以给我的PHP文件名吗?

  2. 每个人都可以看到
  3. appId,那会没事吗?或者我们需要保密吗?

  4. 如果用户是第一次来,我们需要在数据库中注册哪些细节?从第二次我们如何识别该用户?

  5. 提前致谢。

1 个答案:

答案 0 :(得分:0)

  1. window.location.replace('http://www.example.com/members-only.php');
  2. 将App ID公开是没有问题的。请注意Access Tokens和App Secret。他们不应该公开。
  3. 您只需要ID来识别用户。如果你想缓存它,其余的由你决定。