成功登录后,登录回调不与facebook帐户工具包一起运行吗?

时间:2019-04-30 12:56:59

标签: javascript php facebook sms account-kit

你好,我想实现Facebook帐户工具包,以便在我的本地主机上通过短信登录,我遵循文档中的代码

<script>
  // initialize Account Kit with CSRF protection
  AccountKit_OnInteractive = function(){
    AccountKit.init(
      {
        appId:"{{FACEBOOK_APP_ID}}", 
        state:"{{csrf}}", 
        version:"{{ACCOUNT_KIT_API_VERSION}}",
        fbAppEventsEnabled:true,
        redirect:"{{REDIRECT_URL}}"
      }
    );
  };

  // login callback
  function loginCallback(response) {
    if (response.status === "PARTIALLY_AUTHENTICATED") {
      var code = response.code;
      var csrf = response.state;
      // Send code to server to exchange for access token
    }
    else if (response.status === "NOT_AUTHENTICATED") {
      // handle authentication failure
    }
    else if (response.status === "BAD_PARAMS") {
      // handle bad parameters
    }
  }

  // phone form submission handler
  function smsLogin() {
    var countryCode = document.getElementById("country_code").value;
    var phoneNumber = document.getElementById("phone_number").value;
    AccountKit.login(
      'PHONE', 
      {countryCode: countryCode, phoneNumber: phoneNumber}, // will use default values if not specified
      loginCallback
    );
  }


  // email form submission handler
  function emailLogin() {
    var emailAddress = document.getElementById("email").value;
    AccountKit.login(
      'EMAIL',
      {emailAddress: emailAddress},
      loginCallback
    );
  }
</script>

一切都是魅力,我进入电话,然后收到短信,然后我验证了代码,现在是代码验证登录回叫后的问题,因此我可以与服务器连接,但此方法从未执行,为什么?

说明:我的应用程序正在开发中        我启用了debug true,但是控制台上没有显示任何问题

我尝试了很多事情,但是登录回调从未运行

那么我如何执行登录回叫以便可以与服务器连接?

1 个答案:

答案 0 :(得分:0)

您需要在此行之后使用一些ajax机制:

var csrf = response.state;