Django SSO解决方案

django-admin-sso2的Python项目详细描述


(友好的叉子,所有的信用证都应该交给马克·埃格利/弗罗格32。)

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

Django admin SSO允许用户使用 OAuth2提供程序,而不是用户名/密码组合

安装

django admin sso最常用于Google OAuth2和说明 遵循这个假设至少在理论上可以使用不同的 OAuth2提供程序

  1. 确保你有一个工作的Django项目设置

  2. 使用pip:

    安装django-admin-sso2
    pip install django-admin-sso2
    
  3. admin_sso添加到INSTALLED_APPS中的settings.py文件:

    INSTALLED_APPS = (
        ...
        'admin_sso',
        ...
    )
    
  4. 添加django管理员身份验证后端:

    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'
    

导航到谷歌的 Developer Console,创建 新建项目,并在菜单点“APIs&auth”下创建新的客户端ID, “证书”。重定向URI的格式应为 http://example.com/admin/admin_sso/assignment/end/

  1. 运行./manage.py migrate创建所需的数据库表
  2. 登录到管理员并添加分配。

作业

任何远程用户->;本地用户x

  • 选择用户名模式“任意”。
  • 将域设置为您的身份验证域。
  • 从“用户”下拉列表中选择本地用户

远程用户->;本地用户

  • 选择用户名模式“匹配”“不匹配”。
  • 将username设置为[不]match by。
  • 将域设置为您的身份验证域
  • 从“用户”下拉列表中选择本地用户。

变更日志

2.0

  • 删除了对OpenID的支持
  • 与python 3兼容

1.0

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

推荐PyPI第三方库


热门话题
Java3D图表JavaGnuplotHybrid   java httpclient异常“org.apache.http.conn.ConnectionPoolTimeoutException:等待连接超时”   java如何使用Drive API连接到Google Drive文件夹   java如何正确组合@PathParams和@RequestBody?   使用JsonParser的java Jackson反序列化正在跳过@context的第一个键值对   java Twitter4j为getCreatedAt和getCountry获取空白或null   java doOnNext()不会被称为Spring Webflux   java Liberty批处理在使用与spring批处理相同的输入参数启动作业时未引发异常(JobInstanceAlreadyExistsException)   api使用WordNet有没有简单的基于Java的词义消歧?   Java和YAML:如何解析多个YAML文档并将它们合并到单个YAML表示?   swing Java:mouseClicked事件不总是触发   从firebase获取Json作为字符串在java中不起作用   java将带有extrastring的意图从活动发送到选项卡片段   Java中的调用方法问题   java是否可以在TestNG dataprovider类中注入变量   java如何在安卓 studio中使列表中的项目可单击并引导到具有特定格式的新页面   java程序在eclipse中运行,但不在终端中运行   java无法让mockito模拟公共类的公共方法