django多网站用户统一认证方案:openid

  • Post author:
  • Post category:其他



关于openid

写道
OpenID 是一个去中心化的网上身份认证系统。对于支持OpenID的网站,用户不需要记住像用户名和密码这样的传统验证标记。取而代之的是,他们只需要预先在一个作为OpenID身份提供者(identity provider, IdP)的网站上注册

详细描述可见:http://zh.wikipedia.org/wiki/OpenID


基本原理与操作

写道
在openid服务器上注册一个openid,会生成一个url,这个就是你进行认证的用户名,在一些支持openid的网站上登录时,就像一个统一的接口,你不要注册,

只需要输入你的openid用户名,即你的url,然后网站会跳转到你的openid服务器上进行身份认证,认证通过后,你成功登录该网站


操作实例

写道

1.首先在openid服务器上注册一个openid,如:http://openid.org.cn/register,我注册的openid是:http://icgoo.openid.org.cn/

2.在支持openid的网站上登录,如:http://www.lepu.com/login.php?needlogin=1&from=%2Fmy%2F

在openid地址上填入我的openid,如 http://icgoo.openid.org.cn/ 网站会跳转的openid服务器上进行身份认证


django-openid

文档地址:http://code.google.com/p/django-openid

该项目主要是让你的django网站支持openid登录


操作

1.下载django_openidconsumer,并加入到项目下

写道
svn co http://django-openid.googlecode.com/svn/trunk/django_openidconsumer django_openidconsumer

2.settings.py中 INSTALLED_APPS 加入 django_openidconsumer

3.manage.py syncdb 创建数据库

4.settings.py中 MIDDLEWARE_CLASSES 加入 django_openidconsumer.middleware.OpenIDMiddleware

5.url配置中加入

写道
(r’^openid/$’, ‘django_openidconsumer.views.begin’),

(r’^openid/complete/$’, ‘django_openidconsumer.views.complete’),

(r’^openid/signout/$’, ‘django_openidconsumer.views.signout’),

然后, 你通过你的网站地址http://example.com/openid/ 用OpenID登录.



版权声明:本文为xiaolin01999原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。