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如何获取所有链接并使用SeleniumWebDriver逐个单击这些链接   java中数组列表的arraylist移位元素   java如何存储具有不同类型参数的元素   java不能使用List<Future<?>>当从不同位置调用时,在方法参数中   java我应该如何修复代码以避免测试代码出错?   安卓 PreferenceFragment java。lang.RuntimeException   java在运行emulator时发现错误   java取消多个AsyncTask回调的有效方法是什么?如果中途满足条件,这些回调将在将来返回?   有没有办法在运行时将方法动态分配给Java类?   java如何将propertyfile与GlassFish一起使用   如何在PHP中使用bcrypt对密码进行哈希处理?   Java和UDP web服务器   java JPA允许EntityListeners执行JPA操作吗?   java执行do while语句时不会产生错误   java无法在edittext中显示数据库中的数据   java Tomcat中活动会话的数量   java在何处使用@SuppressWarnings(“requestfactory”)   netty连接中的java HornetQ异常