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

关于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登录.

 

你可能感兴趣的:(django)