Python SSO:pysaml2 和 python3-saml

Python SSO: pysaml2 and python3-saml

我是 SSO 的新手,到目前为止我只尝试过 pysaml2

我也知道 python3-saml 库(及其 python-saml Python 2 种风格)。

如果相关,我需要使用其中一个与 Shibboleth 相关的内容。

pysaml2python3-saml的优缺点是什么?


更新:

至于 2019 年,如果您需要实施 SP,我仍然认为 python3-saml 是最佳选择。它并非完美无缺(抱歉@smartin,呵呵),但它比 pysaml2 更不会让你头疼。

这两个项目都与 Shibboleth 兼容。

pysaml2 比 python3-saml 旧,现在都支持 py2 和 py3。两者都很活跃并且有记录。

python3-saml 遵循 Onelogin 的 SAML 工具包的结构,因此如果您之前使用过任何其他工具包 (php-saml, ruby-saml, java-saml),您将很容易处理它(类似的方法,相同的设置).

差异

加密货币:

  • pysaml2 用作依赖项 pycryptodome to handle with cryptography and implements its own xmldsig and xmlenc 类(在 XML 上操作签名和加密)。
  • python3-saml 作为依赖项 python-xmlsec 并在其上委托 XML 个元素的 signature/encryption。

功能:

  • pysaml2 让您部署身份提供者或服务提供者
  • python3-saml 专注于服务提供商

设置:

在我看来,python3-saml 比 pysaml2 更简单,设置更精确,其存储库包含有关如何集成 django or a flask app and a guide at the docs 的代码示例。

注:我是python3-saml

的作者