对sso使用django-此包为第三方包提供了一个桥。

django-sessionprofile的Python项目详细描述


https://travis-ci.org/modelbrouwers/django-sessionprofile.svg?branch=masterhttps://coveralls.io/repos/modelbrouwers/django-sessionprofile/badge.svghttps://readthedocs.org/projects/django-sessionprofile/badge/?version=latesthttps://img.shields.io/pypi/v/django-sessionprofile.svg

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。

待办事项

django 1.9将提供可定制的db会话后端,我们可以提供 这样的后端将减少对中间件的需求。

Github PR

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

推荐PyPI第三方库


热门话题
java如何在Spring Boot 2.2.0中添加弹性搜索?   jakarta ee如何在没有java认证的情况下停止直接访问网页(自定义标记)   java Hibernate:使用executeUpdate()的批删除未清除一级缓存   java如何在Hibernate中插入外键定义为Long的实体?   带参数的java Mockito单元测试计算器方法   java如何从Rally Rest API读取集合属性   java如何对基于消息的处理执行集成测试?   带插入排序的java排序字符串数组标记,双链表   java为什么在基于注释的Spring app@Value默认值中解析为null?   java Apache Commons Http客户端注册特定于客户端的协议   如何使用java反转字符串中n个部分的n个字符   java Tomcat在本地主机上运行良好,但在部署时出现内部服务器错误   使用信号量的变量的java结果   Java编译/运行时类路径问题   java哪个提供商负责AES/CTR/NOP添加?   伪错误解码器中的java响应未获取Zalando问题自定义属性