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第三方库


热门话题
java如何加速程序?(大量缓慢的mysql查询)   java非静态变量不能从静态上下文引用   Java使用TimerTask杀死外部进程   java Guice、Jetty、Jersey+Jackson BIG PLUS:Bean验证   找不到本机的java实现   java Primefaces推送:JBoss 7.2中部署时出错   java如何通过JDBC(mariaDB)检索所选行的主键值   java试图将通知文本提取到活动(解析)   java如何使用springdata在mongodb中创建全文搜索查询?   Java进程错误,无法运行程序   Lambda表达式和非类Java方法   java从静态最终变量初始值设定项获取记录器是否有效?   mysql如何导入java。sql.*使用JDK 10.0.2和Eclipse?   web服务java。网SocketException:cxf中打开的文件太多   限制java进程的网络带宽   aspectj用于记录方法开始/结束的Java特性   保持秩序的java ConcurrentMap   java SearchView带有两个片段的ViewPager   编码仅当字符串在Java中不是UTF8时才对其值进行编码   java如何处理Robotium中witten测试脚本中的第三方Web视图