如何在Django应用程序中使Facebooklogin成为可能?
我创build了一个Django应用程序。 该应用程序具有loginfunction。
有人可以帮助find一种方法,使其可以login使用Facebook的证书或指向我的一些教程来实现它?
概要;
- https://github.com/mlavin/django-all-access
- https://github.com/pennersr/django-allauth
- https://github.com/omab/django-social-auth
- https://github.com/uswaretech/Django-Socialauth
- https://github.com/hiidef/oauth2app
- https://github.com/timetric/django-oauth
- https://github.com/daaku/django-oauth-consumer
- https://github.com/eldarion/django-oauth-access
- https://github.com/dgouldin/python-oauth2
- https://github.com/henriklied/django-twitter-oauth
- https://launchpad.net/django-openid-auth
- https://www.djangopackages.com/grids/g/oauth/
- http://peterhudec.github.io/authomatic/
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)
- 的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
它能做什么
- 允许通过各种提供者login。
- 从各种第三方网站导入联系人,找出您的哪些朋友已经在使用我们的服务。
在login
这是一个通过各种第三方网站进行身份validation的应用程序。 特别是它允许通过login
- 推特
- Gmail的
- Facebook的
- 雅虎(本质上是openid)
- 的OpenID
oauth2app
oauth2app模块帮助Django站点运营商提供OAuth 2.0界面。 该模块被注册为一个应用程序。
Django的的OAuth
这是David Larlet的django-oauth的分支版本。
一个非常重要的区别是,这个版本要求你在Django的caching框架后面运行真正的caching 。
Django的OAuth的访问
支持的提供者
- 推特
- 雅虎
- Facebook(使用OAuth 2.0 – 这是function,但需要更多的工作)
- 可能与任何OAuth 1.0a兼容的站点
Django的OAuth的消费者
提供用于使用OAuth服务的基础架构的django应用程序。 它不提供OAuth服务。
也很有用:
- http://developers.facebook.com/docs/guides/web/#login
- http://developers.facebook.com/docs/guides/canvas/#auth
- https://github.com/dgouldin/python-oauth2
- https://github.com/henriklied/django-twitter-oauth
- https://launchpad.net/django-openid-auth
- https://www.djangopackages.com/grids/g/oauth/
- http://peterhudec.github.io/authomatic/examples/django-simple.html
我强烈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 。 它只是工作!