0

我正在关注:https ://developers.facebook.com/docs/guides/web/

我的网站有自己的登录系统(用 Django/Python 编写)。在不使用 django-social-auth 类型的插件的情况下,我想将 facebook 身份验证集成到我的网络应用程序中。

<div id="fb-root"></div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId      : '{{facebook_app_id}}', // App ID
      channelUrl : '//{{host_name}}/external/fb_channel', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
    });
    // Additional initialization code here
  };
  // Load the SDK Asynchronously
  (function(d){
     var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement('script'); js.id = id; js.async = true;
     js.src = "//connect.facebook.net/en_US/all.js";
     ref.parentNode.insertBefore(js, ref);
   }(document));
</script>

但是,我已按照说明操作(https://developers.facebook.com/docs/guides/web/),登录按钮按预期显示,单击时会显示弹出窗口以允许我的应用程序。(我在本地主机 127.0.0.1 运行我的服务器)

下一个是什么?当用户单击登录并允许它时,我希望进行一些服务器端验证以使用 fb 帐户登录我的用户。但我不确定现在该怎么做。

点击使用FB登录后,它闪烁并且没有访问我的服务器。需要一些指导。

谢谢你。

4

1 回答 1

0

我无法引导您完成您需要的每一段代码,但是我可以解释我过去使用过的一般过程(包括一些 Django 站点),希望您能够使用它建立您的网站:

  1. 集成Facebook JavaScript SDK
  2. 将调用FB.login的 JavaScript 函数绑定到“使用 Facebook 登录”按钮,请求该用户所需的所有权限
  3. 在调用function(response)部分FB.login,处理返回的响应,然后对 Django 视图(我为此使用 jQuery)执行 Ajax POST,该视图获取响应,解析它以检索用户的访问令牌并将其存储在用户配置文件中该用户的对象。
  4. 然后,您可以使用此 access_token代表该用户服务器端发出 Facebook Graph API请求,或者如果您愿意,您实际上可以使用 JavaScript SDK 完全在客户端使用大量 Ajax 进行所有调用与 Django 后端交互。
于 2012-07-25T17:48:37.143 回答