django多网站用户一致认证方案:django-simple-sso

django多网站用户统一认证方案:django-simple-sso

简述

 

代码与文档:https://github.com/ojii/django-simple-sso

 

原理:

写道
项目分服务器端和客户端,客户端原本是没有用户信息的,他的所有用户登录操作都会去服务器端验证,
当验证通过,服务器端会向客户端发送用户信息,客户端则保存用户信息,用该用户进行登录

 

简易流程图:


django多网站用户一致认证方案:django-simple-sso
 

 

django-simple-sso的安装

写道
下载地址:https://github.com/ojii/django-simple-sso/tarball/master
解压后,直接运行:sudo python setup.py install

 

 

创建两个简单的django网站

写道
服务器网站地址:http://127.0.0.1:8000/
客户网站地址:http://192.168.0.31:8000/

 

服务器网站的设置

写道
settings.py中INSTALLED_APPS加入simple_sso.sso_server

 

python manage.py syncdb 创建数据库

 

urls.py中加入

test_server = SimpleSSOServer()

urlpatterns = patterns('',
    url('^server/', include(test_server.get_urls())),
)
写道
创建一个Client对象,主要用户客户网站身份验证
创建之后数据库sso_server_client应该用一条记录
其中root_url中应该与你的客户网站验证的url对应,如我的是:http://192.168.0.31:8000/client/


django多网站用户一致认证方案:django-simple-sso
 

 

服务器端设置

写道
settings.py中加入
SIMPLE_SSO_SECRET 上面服务器创建client对象保存的secret
SIMPLE_SSO_KEY 上面服务器创建client对象保存的key
SIMPLE_SSO_SERVER 服务器网站url,如我的是:http://127.0.0.1:8000/server/

 

urls.py中加入

    url('^client/', include('simple_sso.sso_client.urls')),

 

 

客户网站


django多网站用户一致认证方案:django-simple-sso
 

 

客户网站点击登录后,跳转到服务器网站


django多网站用户一致认证方案:django-simple-sso
 

 

服务器网站验证通过后,跳转回客户网站


django多网站用户一致认证方案:django-simple-sso