跳转到主要内容

Django的SAML 2.0 IdP

项目描述

# dj-saml-idp

这最初是novapost/django-saml2-idp的分支,作为dj-saml-idp独立分发。

原始项目位于https://github.com/guitarmanvt/django-saml2-idp

dj-saml-idp实现了SAML 2.0协议的标识提供者(IDP)端,并将用户认证提供给外部应用。

此包仅支持Django 1.9+。目前,它仅与Django 1.9 & 1.11进行了测试。

# 开发和测试

此包使用Docker容器支持开发和测试。容器为不同的Python版本创建了虚拟环境,如下所示

  • Python 2.7在/venv27

  • Python 3.7在/venv37

这些环境可用于开发和交互式测试。

要构建和运行容器,获取bash提示符: `bash docker build -t dj-saml-idp:latest . docker-compose run --service-ports test `

为了支持使用IDE(如PyCharm)进行开发,容器还可以运行SSHD;在容器中的bash提示符下运行docker/run_sshd.sh命令。在上面的命令中,–service-ports选项仅在您打算在容器中运行sshd时需要。

测试运行器是pytest。对于发布测试,我们使用tox在不同的Python和Django版本上运行测试。可以在Docker容器中使用tox运行测试

`bash $ . /venv37/bin/activate $ tox `

# 发布

首先,创建包的新版本。我们使用bumpversion来处理更新所有版本字符串、提交更改和自动创建新的git标签。要提升包版本,请使用以下命令,并根据您想要更新的语义版本的任何部分进行操作

`$ bumpversion (major|minor|patch)`

例如,对于次要更新,使用(这应该是最常见的情况)

`$ bumpversion minor`

您需要使用 mobify 账户的 PyPI 凭据才能发布新版本,构建脚本期望将其定义为环境变量

$ export PYPI_PASSWORD=supersecretpassword

将新版本发布到 PyPI 非常简单。首先,您需要确保所有测试都通过,并且 saml2idp/__init__.py 中的版本是您希望在 PyPI 上创建的版本。

完成这些后,您只需要运行以下命令

`$ make release`

这将清理 build/dist/ 目录,构建源代码包和 Python 轮文件。两者都将随后上传到 PyPI。

# 许可证

在 MIT 许可证下分发。

# 发布历史

## 1.0.0 (2019-11-06)

  • 重构开发和测试环境

  • 支持 Python 3

## 0.22.0 (2016-05-26)

  • 允许将 redirect_to 参数传递给注销视图,在注销成功后重定向用户,而不是显示注销页面。

  • 通过 structlog 引入日志记录,并提供更具信息的日志输出,以便更容易调试 SAML 流。现在所有日志消息都记录在 saml2idp 记录器下。

  • 添加了一个新的处理器,该处理器带有 name 属性,允许在 SSO 过程中为每个处理器使用自定义模板。自定义模板是可选的,默认与之前相同。此更改与旧版本兼容,并且像以前一样处理旧式处理器。

## 0.21.2 (2016-04-18)

  • django.utils.importlib 切换到 Python 的标准 importlib 以与 Django 1.9 一起使用。

  • 更新测试设置,以运行针对 Django 1.9 的测试,同时针对所有其他 Django 版本进行测试。

项目详情


下载文件

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

源代码分发

dj-saml-idp-1.2.1.tar.gz (17.8 kB 查看哈希)

上传时间

构建分发

dj_saml_idp-1.2.1-py2.py3-none-any.whl (25.3 kB 查看哈希)

上传时间 Python 2 Python 3

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面