跳转到主要内容

Django SSO解决方案

项目描述

注意! django-admin-sso使用了Google的oauth2client,该库已经废弃很久;现在Google甚至已经将其存档。django-admin-sso不会消失,但我建议新的项目使用django-authlib的Admin OAuth支持

Django管理SSO

Django管理SSO允许用户使用OAuth2提供者而不是用户名/密码组合登录到Django的管理面板。

安装

django-admin-sso通常与Google OAuth2一起使用,以下说明基于这一假设。从理论上讲,使用不同的OAuth2提供者也是可能的。

  1. 确保您已设置一个有效的Django项目。

  2. 使用pip安装django-admin-sso

    pip install django-admin-sso
  3. 在您的 settings.py 文件中将 admin_sso 添加到 INSTALLED_APPS

    INSTALLED_APPS = (
        ...
        'admin_sso',
        ...
    )
  4. 添加 django-admin 身份验证后端

    AUTHENTICATION_BACKENDS = (
        'admin_sso.auth.DjangoSSOAuthBackend',
        'django.contrib.auth.backends.ModelBackend',
    )
  5. 将 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”,“Credentials”菜单项下创建一个新的客户端 ID。重定向 URI 应该是以下形式:http://example.com/admin/admin_sso/assignment/end/

  1. 运行 ./manage.py migrate 以创建所需的数据库表。

  2. 登录到管理界面并添加一个分配。

分配

任何远程用户 -> 本地用户 X

  • 选择用户名模式“任何”。

  • 将域设置为您的认证域。

  • 从用户下拉菜单中选择您的本地用户。

远程用户 -> 本地用户

  • 选择用户名模式“匹配” “不匹配”。

  • 设置用户名是否匹配。

  • 将域设置为您的认证域。

  • 从用户下拉菜单中选择您的本地用户。

变更日志

3.0

  • 不再支持 Django<1.11 和 Python<3。

  • 使用 black 重新格式化代码并更新了包。

2.4

  • 正式支持 Django 1.11。

2.3

  • 将最低支持的 Django 版本提高到 LTS 版本,1.8。

  • 避免 Django 1.10 的弃用警告。

2.2

  • 正式支持 Django 1.10(无需更改)

  • 使管理面板适用于拥有许多用户的站点。

2.1

  • 移除了对 OpenID 的支持。

  • Python 3 兼容

  • 不再支持低于 1.7 的 Django 版本

  • 作为 django-admin-sso 继续开发(2.0.x 版本作为 django-admin-sso2 独立发布)

1.0

  • 由于 Google 关闭了其 OpenID 端点,因此添加了对 OAuth2.0 的支持 https://developers.google.com/accounts/docs/OpenID

  • 使用 OpenID 现已弃用,并且 OpenID 支持将在未来的版本中删除。

  • 添加更多测试以获得良好的覆盖率。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

django-admin-sso-5.2.0.tar.gz (9.0 kB 查看哈希)

上传时间

构建分发

django_admin_sso-5.2.0-py2.py3-none-any.whl (9.5 kB 查看哈希)

上传时间 Python 2 Python 3

由以下支持

AWSAWS 云计算和安全赞助商DatadogDatadog 监控FastlyFastly CDNGoogleGoogle 下载分析MicrosoftMicrosoft PSF赞助商PingdomPingdom 监控SentrySentry 错误日志StatusPageStatusPage 状态页面