Django Facebook连接应用推荐

34

我想为我的Django网站实现Facebook连接登录,并且已经查看了现有的应用程序。

到目前为止,我发现了Django-Socialauthdjango-socialregistrationdjango-facebookconnect这些应用程序可供使用。

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

对我来说,Facebook Connect登录应用程序与@login_required、默认认证系统和Django注册流畅地配合非常重要。

请分享你的经验 :)

6个回答

28

更新(2013年11月26日):我更新了我的建议。由于自回答编写以来已经过去了足够的时间,我建议使用 python-social-authdjango-allauth 作为最佳工具。它们是活跃的项目,拥有良好的文档和对不仅限于 Facebook 的许多内容的支持。我成功地使用了这两个工具。


我在使用 django-socialregistrationdjango-registration (0.8) 进行适应时效果最佳。既然你正在使用 django-registration,你需要做一些工作,因为这三个包都扮演创建并验证用户的角色。

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

正如我所暗示的那样,它将注册功能提供给 django-registration 后端,并自己处理所有的授权。我已经在我的接近 beta 的应用程序上使用了一段时间,没有出现任何问题(几个月前我也把它传给一个朋友使用,他不需要进行太多修改就让它运行起来了)。

它绝对还不准备好成为即插即用的可重用应用程序,但希望它能为你提供一些启示。 :)


链接已经失效,项目似乎已经停止了? - amrox
做得好,Bryan!客户需要启用 JavaScript 才能使用吗? - Cartucho
@fcrazy - 是的。Facebook的JavaScript SDK是唯一可行的选择。 - Bryan Veloso
你如何使用你的“hello-social-registration”应用程序?没有文档:( - Garth Humphreys
仅仅是一个更新,根据这个链接:http://django-social-auth.readthedocs.org/en/latest/,`django-social-auth`已经被弃用了,现在https://github.com/omab/python-social-auth是一个更好的选择。 - errata
显示剩余3条评论

4

3
我想在我的Django应用程序中实现基本的“使用Facebook登录”功能。我不想向用户显示填写表单或选择密码的界面,我更喜欢使其无缝。
基于我的要求,django_facebook_oauth 对我来说是最好的应用程序。它简单地允许用户使用Facebook登录,并从她那里获取我Facebook应用程序请求的用户信息(基于我的Facebook身份验证对话框)。它使用用户的Facebook电子邮件、用户名和空密码在Django中创建一个新用户。
我强烈推荐它。

1

你好,请看一下我们(实际上是我们团队的一个人Hernani)为osqa(CNPROG的克隆)制作的fbconnect应用程序。

你可能需要稍微调整一下以适应你的需求。它可以使用@login_required装饰器和标准的django.contrib.auth系统,但我们不使用django-registration

我们的应用程序还支持openid和密码登录,但目前openid部分与问答组件紧密耦合。

如果将来有人对“anything-signin”django可插拔应用程序感兴趣或已经有更好的解决方案,请告诉我们,我们可能会将其分离出来。


0

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

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

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

facebook.get_and_store_likes(user)
facebook.get_and_store_friends(user)

-2

我曾经使用基于.NET的库,但发现它们过时了,让人感到沮丧。Facebook似乎经常更改他们的API,所以如果你找不到一个经常维护的库,你会发现在实现一半之前就会遇到严重的问题。

我尝试了Facebook发布和维护的javascript API,并取得了一些成功。虽然文档可能不总是最新的,但我发现我总是能够接近正确的实现(只需要一两个更改)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接