跳转到主要内容

Django SSO解决方案

项目描述

(友好的分支,所有功劳都应归功于Marc Egli / frog32。)

https://travis-ci.org/matthiask/django-admin-sso.png?branch=master

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

安装

django-admin-sso通常与Google OAuth2一起使用,说明假设了这一点。理论上,可以使用不同的OAuth2提供者。

  1. 确保您已设置了一个正常工作的Django项目。

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

    pip install django-admin-sso2
  3. admin_sso添加到您的settings.py文件中的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”,“凭证”菜单点下创建一个新的客户端ID。重定向URI应为以下形式:http://example.com/admin/admin_sso/assignment/end/

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

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

分配

任何远程用户 -> 本地用户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 (6.5 kB 查看散列)

上传时间 源代码

构建分发

django_admin_sso2-2.0.4-py2-none-any.whl (9.7 kB 查看散列)

上传时间 Python 2

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面