Django SSO解决方案
项目描述
(友好的分支,所有功劳都应归功于Marc Egli / frog32。)
Django admin SSO允许用户使用OAuth2提供者而不是用户名/密码组合登录Django的管理面板。
安装
django-admin-sso通常与Google OAuth2一起使用,说明假设了这一点。理论上,可以使用不同的OAuth2提供者。
确保您已设置了一个正常工作的Django项目。
使用pip安装django-admin-sso2
pip install django-admin-sso2
将admin_sso添加到您的settings.py文件中的INSTALLED_APPS
INSTALLED_APPS = ( ... 'admin_sso', ... )
添加django-admin身份验证后端
AUTHENTICATION_BACKENDS = ( 'admin_sso.auth.DjangoSSOAuthBackend', 'django.contrib.auth.backends.ModelBackend', )
将您的OAuth2客户端ID和密钥插入到设置文件中
DJANGO_ADMIN_SSO_OAUTH_CLIENT_ID = 'your client id here' DJANGO_ADMIN_SSO_OAUTH_CLIENT_SECRET = 'your client secret here'
转到Google的开发者控制台,创建一个新的项目,并在“APIs & AUTH”,“凭证”菜单点下创建一个新的客户端ID。重定向URI应为以下形式:http://example.com/admin/admin_sso/assignment/end/
运行./manage.py migrate以创建所需的数据库表。
登录到管理员并添加一个分配。
分配
任何远程用户 -> 本地用户X
选择用户名模式“任何”。
将域设置为您的认证域。
从用户下拉菜单中选择您本地的用户。
远程用户 -> 本地用户
选择用户名模式“匹配”或“不匹配”。
通过以下方式设置用户名[不]匹配。
将域设置为您的认证域。
从用户下拉菜单中选择您本地的用户。
变更日志
2.0
移除对OpenID的支持
兼容Python 3
1.0
由于谷歌关闭其OpenID端点,因此添加了对OAuth2.0的支持https://developers.google.com/accounts/docs/OpenID
现在使用OpenID已被弃用,并且OpenID支持将在未来的版本中删除。
添加更多测试以获得良好的覆盖率。
项目详情
下载文件
下载适用于您平台文件的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源代码分发
构建分发
django-admin-sso2-2.0.4.tar.gz的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 67ad3f25a370ac40e460e9f0c622bbd906110cabab0040961f6a95944458c646 |
|
MD5 | d1eb85090bbbea4b1d3778c0830dd1ac |
|
BLAKE2b-256 | 9ecebd69dc00ebd33fd9b1f6a3eb8ff7ee0c4c6ad49a82f597ab7f666e992f0e |
django_admin_sso2-2.0.4-py2-none-any.whl的散列
算法 | 散列摘要 | |
---|---|---|
SHA256 | 039cb97d7c9eb7a285d5065a49234241c3c68b0cff0fe8885057024132968a99 |
|
MD5 | 03fcea8643655e3aa9693564225586e7 |
|
BLAKE2b-256 | f079480e481edcca8145fe1c6b571ca5775d5e8f0e63cf90ab16bcb10440da43 |