django openid,oauth身份验证。支持下一个站点:-http://google.com-http://yandex.ru-http://vkontakte.ru-http://facebook.com-http://twitter.com和自定义openid和oauth提供程序

django-netauth的Python项目详细描述


django netauth是django应用程序,允许通过openid/oauth/google/twitter/facebook/vkontakte对用户进行身份验证。 部署在http://netauth.node42.org/

上的示例项目

抱歉,现在不支持django netauth。建议使用django socialauth。

Requirements

  • python>;=2.5
  • django>;=1.2
  • python openid
  • OAuth2

Installation

django netauth应使用pip:

安装
pip install django-netauth

Setup

  • 将“netauth”添加到已安装的应用程序中

    INSTALLED_APPS += ( 'netauth', )
    
  • 将netauth url添加到基本url

    url('auth/', include( 'netauth.urls')),
    
  • 将netauth后端添加到身份验证后端

    AUTHENTICATION_BACKENDS += ( 'netauth.auth.NetBackend', )
    
  • 使用django syncdb命令同步数据库

    ./manage.py syncdb
    
  • 请参阅下面的服务设置。

Use netauth

  1. 在您的站点中使用url'/auth/login'作为登录点
  2. 使用模板标记“netauth_widget”
  3. 创建自定义界面

Extra fields

为了填充用户配置文件可能需要的额外字段,需要在项目的settings.py中设置两个变量。

变量名应为backend+的大写名称“\u profile\u mapping”。例如:google_profile_mapping、twitter_profile_mapping等。

此变量的值必须是提供程序端具有字段名称的字典,并且其值必须是表单字段的名称。例如:

twitter_profile_mapping={'用户名':'屏幕名称',}

在这里你可以看到“screen_name”是你在twitter上要求的,在你的附加表单中,你会在“username”键下看到这个值。这是因为每个身份验证方法都可以为其数据提供不同的名称,您需要统一它。

此外,还可以重写extra_form本身,并将netauth_extra_form变量的值设置为自定义表单的路径。不要忘记在这个表单中实现save方法。

Facebook

Twitter

  • 转到http://twitter.com/apps/new并创建应用程序 应用程序类型:Browser 回调URL:^{TT2}$
  • 在设置文件中设置twitter_consumer_key、twitter_consumer_secret

Yandex

Vkontakte

Changes

如果要从以前版本的SCSS升级,请确保已阅读以下文档:

http://packages.python.org/django-netauth/changes.html

Note

您需要按照django文档中的说明设置messages-framework

Bug tracker

如果您有任何建议、错误报告或 烦恼请向问题追踪者报告 在https://github.com/klen/django-netauth/issues

Contributing

django netauth的开发发生在github:https://github.com/klen/django-netauth

Contributors

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java本机方法的源代码可用吗?   java如何使父方法抛出异常?   java Android以编程方式设置不同屏幕大小/密度的布局   java如何使用一个变量来管理所有客户端请求   java输入一个txt文件,每行有一组数字   json java从jsonobject获取jsonarray错误   java将一个(WAV)写入一个文件只会说一个单词(最后一个单词)   java Telnet忽略原始字节   proguard java。运行桌面应用程序时出现lang.VerifyError   java用左键移动JLabel?   java如何在jText区域验证选项卡?   文件服务器客户端Javasocket编程中的字符串搜索   java省略了JSTL中的最后一个逗号<c:out>   java如何找到if或else代码已执行的次数?   java JavaScript WebSocket send()方法未执行   浮点数声明上的java标识符预期错误   java这是指二进制搜索算法吗?   编译mod at:reobfJar java时的minecraft问题。util。拉链ZipException:重复条目   java检测特定的震动运动(如图所示:D)