Библиотека Python для реализации поставщика услуг на основе SAML2 и поставщика удостоверений?

Я ищу библиотеку Python, которую можно использовать для реализации поставщика услуг и поставщика удостоверений на основе SAML2. Базовая библиотека не должна зависеть от какого-либо конкретного веб-фреймворка. Я ищу что-то более функциональное и предпочтительно простое в использовании. Также у библиотеки должна быть более разрешительная лицензия (не GPL). После поиска нашел несколько ссылок, вставил сюда:

http://wiki.python.org/moin/SAML

Любое предложение ?


person baijum    schedule 20.02.2011    source источник


Ответы (2)


Вы также можете взглянуть на https://github.com/onelogin/python-saml.

Также имеет открытый исходный код, и набор инструментов содержит 2 демонстрации: приложение django и приложение Flask.

Сейчас работает только на Python 2.X.

Отредактировано 13 мая 2015 г.: существует версия Python 3.X (бета, я все еще тестирую ее): https://github.com/pitbulk/python3-saml (спасибо bgaifullin за помощь)

Отредактировано 13 апреля 2016 г.: версия Python 3.X стабильна и протестирована.

person smartin    schedule 07.10.2014
comment
Я бы рекомендовал принять этот ответ, так как решение onelogin.com кажется лучшим решением, доступным на момент написания этой статьи... - person Sam Rose; 29.09.2016
comment
Можно ли использовать python-saml Onelogin в качестве IDP? - person Mukesh Yadav; 04.03.2017
comment
Как сказано в разделе общего описания набора инструментов: Набор инструментов SAML Python от OneLogin позволяет превратить ваше приложение Python в SP (поставщика услуг), который может подключаться к IdP (поставщику удостоверений). так нет, работает только как SP. - person smartin; 06.03.2017
comment
Поддерживает ли он поток, инициированный IdP, когда SP (наше приложение) получает samlp:Response от IdP напрямую в качестве первого взаимодействия? - person Simeon Leyzerzon; 10.04.2018
comment
@SimeonLeyzerzon Да. - person smartin; 30.05.2018
comment
У OneLogin теперь есть официальный проект, поддерживающий Python3. - person Xiong Chiamiov; 08.08.2019

Проект pysaml2 на панели запуска сейчас достаточно активен. Я думаю, что вы торопились с этим на PyCon 2011. Пакет pysaml2 включен в индекс пакетов Python (PyPi) и устанавливается с помощью easy_install / pip. Документы можно найти по адресу: https://pypi.python.org/pypi/pysaml2.

Существует связанный проект для Django, который можно найти на PyPi: djangosaml2.

Другой проект, python-saml2 в коде Google, кажется, немного старше и не так активен.

У меня нет опыта с другими.

Я нашел еще один: https://github.com/tachang/PySAML.

Аббревиатуры pysaml2, PySAML и python-saml2, относящиеся к трем разным проектам, немного сбивают с толку.

Обновление: 29 сентября 2020 г. (от имени @Umognog, спасибо)

Обновление: 27 апреля 2019 г. – Текущий статус проектов:

  • PySAML — не обновлялся с 2009 года.
  • pysaml2 — совместим с Python3 и используется в рамках проекта https://idpy.org/.
  • python-saml2 — кажется, не существует на pypi. Ссылки не найдены
person erny    schedule 18.03.2011
comment
Почти 2 года спустя, и, к сожалению, pysaml2 не сертифицирован для работы с Python 3.x. - person Thomas Farvour; 09.12.2013