一个简单的 django freeipa rpc 身份验证后端应用程序,具有简单的服务器故障转移解决方案。
项目描述
Django FreeIPA Auth 是一个后端身份验证应用程序,具有简单的服务器故障转移解决方案,可以包含在项目的身份验证后端中。此应用程序与指定的 FreeIPA 主机服务器通信,并在成功登录 freeIPA 后对 django 应用程序的用户进行身份验证。
详细文档在“docs”目录中。
快速开始
使用 pip 安装:
pip install django_freeipa_auth
如果在没有安全更新的旧版本 python 上运行,请包含安全标记:
pip install django_freeipa_auth[security]
将“freeipa_auth”添加到您的 INSTALLED_APPS 设置中,如下所示:
INSTALLED_APPS = [ ... 'freeipa_auth', ]
将“freeipa_auth.backends.FreeIpaRpcAuthBackend”添加到您的设置文件中的 AUTHENTICATION_BACKENDS 中,如下所示:
AUTHENTICATION_BACKENDS = [ ... 'freeipa_auth.backends.FreeIpaRpcAuthBackend', ]
覆盖设置文件中的设置,如下所示:
FREEIPA_AUTH_BACKEND_ENABLED = True FREEIPA_AUTH_SERVER = "ipa.foo.com" # defaults to None FREEIPA_AUTH_FAILOVER_SERVER = "ipa.failover.com" # defaults to None FREEIPA_AUTH_SSL_VERIFY = True # this would be the path to the ssl cert used FREEIPA_AUTH_UPDATE_USER_GROUPS = True # defaults to False FREEIPA_AUTH_ALWAYS_UPDATE_USER = True FREEIPA_AUTH_USER_ATTRS_MAP = {"first_name": "givenname", "last_name": "sn", "email": "mail"} FREEIPA_AUTH_SERVER_TIMEOUT = 5
启动开发服务器,访问http://127.0.0.1:8000/admin/ 通过freeipa rpc认证登录。
运行测试
使用tox运行测试以测试多个python 和Django版本。为避免需要安装多个 python 二进制文件,请使用 docker-compose.test.yml配置在 Docker 容器中运行测试。
``bash docker -compose -f docker-compose.test.yml `