如何在Django应用程序中使Facebooklogin成为可能?

我创build了一个Django应用程序。 该应用程序具有loginfunction。

有人可以帮助find一种方法,使其可以login使用Facebook的证书或指向我的一些教程来实现它?

概要;


Django的所有访问


django-all-access是一个可重复使用的应用程序,用于从OAuth 1.0和OAuth 2.0提供程序(如Twitter和Facebook)进行用户注册和身份validation。

这个项目的目标是让你轻松创build自己的工作stream来validation这些远程API。 Django的所有访问将提供简洁的意见与理智默认值与钩子来覆盖默认行为。

http://allaccess-mlavin.dotcloud.com/上运行一个简单的演示应用程序。此应用程序的完整源代码包含在存储库中。;

Django的allauth


集成的Django应用程序,用于解决身份validation,注册,账户pipe理以及第三方(社交)账户身份validation。

支持的stream程

  • 注册本地和社交帐户
  • 将多个社交帐户连接到本地帐户
  • 断开社交帐户 – 如果只有本地帐户,则需要设置密码
  • 社交账户可选即时注册 – 不问任何问题
  • 电子邮件地址pipe理(多个电子邮件地址,设置主要)
  • 密码忘记stream量
  • 电子邮件地址validationstream程

支持的提供者

  • Dropbox(OAuth)
  • Facebook(OAuth2和JS SDK)
  • Github上
  • Google(OAuth2)
  • LinkedIn
  • 的OpenID
  • 人物
  • SoundCloud(OAuth2)
  • 堆栈交换(OAuth2)
  • 抽搐(OAuth2)
  • 推特
  • 微博(OAuth2)

Django社交authentication


Django Social Auth是为Django项目设置社交authentication/授权机制的简单方法。

它使用django-twitter-oauth和django-openid-auth的基本代码制作,它实现了一个通用接口来定义来自第三方的新的身份validation提供程序。

支持的提供者

  • Google OpenID
  • Google OAuth
  • Google OAuth2
  • Yahoo OpenID
  • OpenId像myOpenID
  • Twitter OAuth
  • Facebook OAuth

Django的Socialauth


它能做什么

  1. 允许通过各种提供者login。
  2. 从各种第三方网站导入联系人,找出您的哪些朋友已经在使用我们的服务。

在login

这是一个通过各种第三方网站进行身份validation的应用程序。 特别是它允许通过login

  • 推特
  • Gmail的
  • Facebook的
  • 雅虎(本质上是openid)
  • 的OpenID

oauth2app


oauth2app模块帮助Django站点运营商提供OAuth 2.0界面。 该模块被注册为一个应用程序。

Django的的OAuth


这是David Larlet的django-oauth的分支版本。

一个非常重要的区别是,这个版本要求你在Django的caching框架后面运行真正的caching 。

Django的OAuth的访问


支持的提供者

  • 推特
  • LinkedIn
  • 雅虎
  • Facebook(使用OAuth 2.0 – 这是function,但需要更多的工作)
  • 可能与任何OAuth 1.0a兼容的站点

Django的OAuth的消费者


提供用于使用OAuth服务的基础架构的django应用程序。 它不提供OAuth服务。


也很有用:

我强烈build议使用django-social-auth 。 自述文件非常完整,并且还包含用于validation其他OAuth资源(如Twitter)以及Google和Yahoo等OpenID资源的信息。 当然,如果你只是想要Facebookauthentication,你可以使用它。

还有一个包含的示例应用程序,它提供了一些示例代码来玩。

对于移动应用程序,如果你正在开发一个应用程序的ios / android与Django在后端,你可以做的是login到Facebook的前端使用facebook ios / android api。 但是,这不是您的应用程序的最终login。 在facebooklogin后,facebook会给你一个访问令牌,然后你可以发送到你的django后端以及你的facebook用户名/电子邮件。 在后面,django可以使用类似facebook python sdk来通过与facebook通信来validation用户名访问令牌对。 如果通过validation,您可以最终login到您的应用程序的用户。

使用python sdk很容易,只需阅读教程,您将在几秒钟内与Facebook进行通信。

这样做的新方法是使用python-social-auth ,因为django-social-auth已经被python-social-auth弃用,现在支持比Django更多的框架,比如Flask,Pyramid,Web.py和Tornado

它还支持其他主要的authentication提供商,如微软,谷歌,Twitter,亚马逊,GitHub等等

以下是在Django上快速入门的configuration方法: 如何使用Django使用Google+ APIlogin?

我完全可以推荐django-allauth 。 它只是工作!