使用 AJAX 获取访问令牌的 Facebook 登录

Facebook login using AJAX to get access token

我正在开发一个允许用户登录并检索其中照片的 Facebook 应用程序。我有 Facebook 登录与重定向一起使用以获取访问令牌,但实际上我想让我的应用程序更好一点并使用 ajax 来获取访问令牌。

我正在使用 Facebook JS SDK 登录我的应用程序。我在其余部分使用 Facebook PHP SDK,例如检索用户相册和照片。

我对使用 login.php 页面上的 ajax 获取访问代码感到困惑。我看到该页面设置了访问令牌,并且可以 return 来自该页面的值。

我的 loginWithFacebook 函数如下所示:

// REQUIRED - using the facebook js to login
  logInWithFacebook = function() {
    FB.login(function(response) {
      if (response.authResponse) {
        // alert('You are logged in & cookie set!');
        // Now you can redirect the user or do an AJAX request to
        // a PHP script that grabs the signed request from the cookie.

        // Redirect Way
        window.location.href = 'app5.1.js-login.php';


      } else {
        alert('User cancelled login or did not fully authorize.');
      }



    }, {scope: 'public_profile,email,user_photos'}
        );
    return false;
  };

如您所见,我正在进行重定向。我想更改该部分以使用 ajax 获取访问令牌,但我不完全了解如何执行该部分以及如何使其与应用程序的其余部分保持通信。

访问令牌已与 SDK v.4.0 分离。查看以下 link:

https://www.sammyk.me/access-token-handling-best-practices-in-facebook-php-sdk-v4

另请查看:

https://developers.facebook.com/docs/facebook-login/access-tokens#pagetokens

希望对您有所帮助