对sso使用django-此包为第三方包提供了一个桥。
django-sessionprofile的Python项目详细描述
django sessionprofile是任何可定制的软件之间的桥梁。 验证后端和django。如果要使用django进行单点登录,则 包装起重。
安装-django
$ pip install django-sessionprofile
将sessionprofile添加到已安装的应用程序,并运行python manage.py migrate。
将sessionprofile中间件(sessionprofile.middleware.sessionprofilemiddleware)添加到中间件设置中-确保它位于sessionmiddleware之前。
此外,会话cookie必须可用于第三方应用程序, 如果它位于同一个域上,那么这应该不是问题。
后端
目前有一个后端可用:'sessionprofile.backends.databasebackend'。 在未来,可能会有其他的后端,比如sessionprofile.backends.cacheddatabasebackend'。
安装-第三方应用程序
这取决于您决定使用哪个后端,该示例假设 后端。
在第三方应用程序中进行身份验证时,应阅读会话 cookie(会话cookie名称),并查询sessionprofile表:
SELECT users_user.username, users_user.email FROM users_user, sessionprofile_sessionprofile sp WHERE sp.session_id = ‘<sessionid_from_cookie>’ AND users_user.id = sp.user_id
剩下的认证流程由您来实现。文档中提供了phpbb 3.0.x的示例。
谢谢
非常感谢Resolver Systems有限公司(现在是Pythonanywhere的一部分)谁 制作了这个库的初始版本,专门针对phpbb3。