使用解析Facebook登录api,结果当前用户为空

Using parses Facebook login api, results in current user null

本文关键字:结果 用户 api Facebook 登录      更新时间:2023-09-26

我正在使用parse创建一个简单的演示站点,允许用户使用他们的Facebook帐户登录/注册。

登录返回成功,我也得到了正确的用户名我还看到数据库中填充了facebook帐户数据

但是回到app.js: Parse.User.current()null

客户端javascript (index.html)

    <script>
 // Initialize Parse
  Parse.initialize("zzzzzzzzzzzzzzzzzzzzz", "zzzzzzzzzzzzzzzzzzzzzzzz");
  window.fbAsyncInit = function() {
      Parse.FacebookUtils.init({ // this line replaces FB.init({
        appId      : 'zzzzzzzzzzzzzzz', // Facebook App ID
        status     : true,  // check Facebook Login status
        cookie     : true,  // enable cookies to allow Parse to access the session
        xfbml      : true,  // initialize Facebook social plugins on the page
        version    : 'v2.3' // point to the latest Facebook Graph API version
      });
    // Run code after the Facebook SDK is loaded.
  };
    (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 myFacebookLogin() {
     Parse.FacebookUtils.logIn('user_friends', {
        success: function(user) {
            if (!user.existed()) {
                alert("User signed up and logged in through Facebook!");
            } else {
                alert("Already logged on");
            }
            console.log(user);
            alert("user "+user);

            FB.api('/me', function(response) 
            { 
                $("#userIdInput").val(user.id);
                $("#userNameInput").val(response.name);
                $("#fb-login-form").submit();
            }); 
        },
        error: function(user, error) {
            alert("User cancelled the Facebook login or did not fully authorize.");
        }
     });
    }
    $( document ).ready(function() {
        $("#logon-block").click(function(){
            myFacebookLogin();
        });
    });
</script>

与facebook的Parses会话处理似乎有一个bug。

这可能不是一个解决方案,但它是一个变通的同时,

您可以使用session become与您获得的facebook令牌应该做