【问题标题】:Having trouble with integrating facebook authentication无法集成 facebook 身份验证
【发布时间】:2012-07-26 01:48:37
【问题描述】:

我正在关注: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/),登录按钮按预期显示,单击时会显示弹出窗口以允许我的应用程序。 (我在 localhost 的 127.0.0.1 运行我的服务器)

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

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

谢谢。

【问题讨论】:

    标签: facebook


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-06
      • 2012-03-11
      • 2016-04-14
      • 2018-02-24
      • 1970-01-01
      • 1970-01-01
      • 2012-04-01
      • 1970-01-01
      相关资源
      最近更新 更多