34

我想为我的 Django 站点实现 Facebook 连接登录,并且我已经检查了已经存在的应用程序。

到目前为止,我已经为此目的找到了Django-Socialauthdjango-socialregistrationdjango-facebookconnect 。

问题是选择哪一个,我想听听其他有使用这些应用程序经验的开发人员的意见。

对我来说重要的是,Facebook Connect 登录应用程序与 @login_required、默认身份验证系统和 django-registration 配合得很好。

请分享你的经验:)

4

6 回答 6

28

更新(2013 年 11 月 26 日):我正在更新我的推荐。由于我写这个答案已经过去了足够长的时间,我会推荐python-social-authdjango-allauth作为这项工作的最佳工具。它们是活跃的项目,具有良好的文档和对 Facebook 之外的更多支持。我已经成功使用了两者。


我最幸运的是将django-socialregistrationdjango-registration (0.8) 结合使用。由于您正在使用 django-registration,因此您将不得不做一些工作,因为所有这三个包都承担了创建和用户身份验证的角色。

我只是想解释需要做什么,但你启发了我最终发布了我的版本:hello-social-registration

就像我提到的那样,它将注册功能分开给 django-registration 后端并自己处理所有授权。我已经在我的近 beta 应用程序上使用它一段时间了,没有任何问题(几个月前我也把它交给了一个朋友使用,他没有做太多修改就让它工作)。

肯定还没有准备好成为一个即插即用的可重用应用程序,但希望它能为您提供一些见解。:)

于 2010-02-22T03:12:38.953 回答
4

到目前为止,Django 中最常用的 Facebook 身份验证包是 Django Facebook:

https://github.com/tschellenbach/Django-facebook

它还允许您使用包含的 Open Facebook api 客户端访问 facebook API。

于 2011-10-21T21:48:14.210 回答
3

我想在我的 Django 应用程序中实现一个基本的“使用 Facebook 登录”功能。我不想向用户显示要填写的表格或让她选择密码。我更喜欢让它无缝。

根据我的要求,django_facebook_oauth是最适合我的应用程序。它只是允许用户使用 facebook 登录,并从她那里获取我的 Facebook 应用程序请求的用户信息(基于我的 Facebook Auth Dialog)。它使用用户的 Facebook 电子邮件、用户名和空白密码在 Django 中创建一个新用户。

我强烈推荐它。

于 2012-08-12T18:08:27.407 回答
1

嗨,看看我们(实际上是 Hernani,我们团队中的一个人)为osqa(CNPROG 的克隆)组装的 fbconnect 应用程序。

您可能必须进行一些修改以适应您的需求。它确实适用于@login_required装饰器和标准django.contrib.auth系统,但我们不使用django-registration.

我们的应用程序也可以使用 openid 和密码登录,但 openid 部分目前与 Q&A 组件紧密耦合。

如果有人对“anything-signin”django 可插拔应用程序感兴趣或已经有更好的东西,我们可能会在未来的某个时间将其分开 - 请告诉我们。

于 2010-02-17T20:40:38.577 回答
0

我在两个不同的项目中使用了 django-allauth 和 django-facebook。

django-allauth 很棒,为登录和创建用户配置文件提供了很好的支持。它也可以与我没有实现的其他身份验证提供程序一起使用。

django-facebook开箱即用,但它只与 Facebook 兼容。它还提供了简单的 API,用于将用户的喜欢和朋友从 Facebook 直接获取到数据库中,我非常喜欢!

facebook.get_and_store_likes(user)
facebook.get_and_store_friends(user)
于 2014-06-19T13:17:50.790 回答
-2

我玩过基于 .NET 的库,发现它们已经过时了,令人沮丧。Facebook 似乎经常更改他们的 API,所以如果你找不到一个定期维护的库,你会发现在你意识到存在严重问题之前你已经完成了一半的实现。

我在 Facebook 发布和维护的 javascript API 上取得了一些成功。虽然文档可能并不总是最新的,但我发现我总是在正确实施的惊人距离之内(需要一两个更改)。

于 2010-02-17T20:45:35.073 回答