跳转到主要内容

Python Social Auth的Kerberos身份验证后端

项目描述

https://github.com/kiwitcms/python-social-auth-kerberos/workflows/integration%20test/badge.svg https://coveralls.io/repos/github/kiwitcms/python-social-auth-kerberos/badge.svg?branch=master Tidelift Become a sponsor Kiwi TCMS on Twitter

此软件包提供Python Social Auth的Kerberos后端。它可以用于在Django应用程序或其他支持Python Social Auth的应用程序内启用无密码认证。这是一个纯Python实现,不依赖于Apache mod_auth_kerb

安装

要安装

pip install social-auth-kerberos

警告:由于gssapi依赖项不提供二进制软件包,您需要gcc、Python和kerberos开发包来构建。尝试使用以下命令(Red Hat/Fedora):dnf install gcc krb5-devel python3-devel 或(Debian/Ubuntu):apt-get install gcc libkrb5-dev libpython3-dev

配置

配置Python Social Auth 并确保您已启用以下设置

AUTHENTICATION_BACKENDS = [
    'social_auth_kerberos.backend.KerberosAuth',
    'django.contrib.auth.backends.ModelBackend',
]

SOCIAL_AUTH_KRB5_KEYTAB = '/Kiwi/your-application.keytab'

重要

您的Kiwi TCMS网络服务的主体名称必须是 HTTP/<fqdn.example.com>@REALM.EXAMPLE.COM,其中 fqdn.example.com 是Kiwi TCMS服务器的域名,而 REALM.EXAMPLE.COM 是您组织使用的Kerberos域。

/Kiwi/your-application.keytab 是您的 Web 应用程序主程序的关键表文件!如果您将其安装在 Docker 容器中,请确保 chown 1001:root

管道配置

Python 社交认证,以及扩展到此插件,将在首次访问 Web 界面时创建新的用户帐户。在 Kiwi TCMS 中,用户必须属于特殊组 Tester 或有足够的权限来添加/编辑/删除对象。

如果您将 social_auth_kerberos.pipeline.initiate_defaults 添加到 SOCIAL_AUTH_PIPELINE 设置的末尾,可以自动将新帐户分配给 Tester 组。

警告: 这不是自动完成的,因为一些管理员可能希望对新注册的帐户采用不同的行为!

Kerberos 配置

有关 Kerberos 的更多信息,请参阅

或查看 tests/Dockerfile.kerberos

变更日志

v0.3.0 (2023 年 12 月 17 日)

  • 将 gssapi 从 1.6.12 更新到 1.8.3

  • 将 social-auth-core 从 4.0.1 更新到 4.5.1

  • 记录编译 gssapi 的必要性。修复了 问题 #3

  • 使用 Python 3.11 和 Kiwi TCMS v12.7 进行构建和测试

  • 删除未使用的导入

v0.2.4 (2020 年 3 月 24 日)

  • 添加 social_auth_kerberos.pipeline,其中包含初始化新创建帐户默认权限的功能。请参阅 管道配置 部分

  • 更新 README,提供有关如何配置此插件的信息

  • 启用与 Kerberos 的集成测试和覆盖率收集

v0.2.3 (2020 年 3 月 22 日)

  • 在检查任何其他内容之前保持对当前用户的引用。解决了客户端知道服务器已启用 Kerberos 并直接发送授权头的崩溃问题

  • 对不匹配 RFC-4459 第 4.2 节的授权请求头更宽容

v0.2.2 (2019 年 11 月 10 日)

  • 将许可证版本锁定为 GPLv2 以适用于 Tidelift

v0.2.1 (2018 年 12 月 10 日)

  • 初始发布

项目详情


下载文件

下载适合您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

social-auth-kerberos-0.3.0.tar.gz (11.7 kB 查看散列)

上传时间

构建分布

social_auth_kerberos-0.3.0-py3-none-any.whl (12.3 kB 查看散列)

上传时间 Python 3

支持者