Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/IdentityPython/pysaml2
Python implementation of SAML2
https://github.com/IdentityPython/pysaml2
federation saml saml2
Last synced: 3 months ago
JSON representation
Python implementation of SAML2
- Host: GitHub
- URL: https://github.com/IdentityPython/pysaml2
- Owner: IdentityPython
- License: apache-2.0
- Created: 2012-05-23T21:12:14.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2024-04-18T07:51:24.000Z (10 months ago)
- Last Synced: 2024-04-23T10:51:26.451Z (9 months ago)
- Topics: federation, saml, saml2
- Language: Python
- Size: 15.6 MB
- Stars: 540
- Watchers: 31
- Forks: 417
- Open Issues: 104
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-saml - pysaml2
README
# PySAML2 - SAML2 for Python
[![Version](https://img.shields.io/pypi/v/pysaml2)](https://pypi.org/project/pysaml2/)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/pysaml2)](https://pypi.org/project/pysaml2/)
[![Total downloads](https://pepy.tech/badge/pysaml2)](https://pepy.tech/project/pysaml2)
[![Weekly downloads](https://pepy.tech/badge/pysaml2/week)](https://pepy.tech/project/pysaml2)
[![License](https://img.shields.io/github/license/IdentityPython/pysaml2)](https://github.com/IdentityPython/pysaml2/blob/master/LICENSE)PySAML2 is a pure python implementation of SAML Version 2 Standard.
It contains all necessary pieces for building a SAML2 service provider
or an identity provider. The distribution contains examples of both.
Originally written to work in a WSGI environment
there are extensions that allow you to use it with other frameworks.**Website**: https://idpy.org/
**Documentation**: https://pysaml2.readthedocs.io/
**Contribution guidelines**: [CONTRIBUTING.md][contributing]
**Security policies**: [SECURITY.md][sec]
**Source code**: https://github.com/IdentityPython/pysaml2/
**Developer guidelines**: [DEVELOPERS.md][dev]
**PyPI project**: https://pypi.org/project/pysaml2/
**License**: [LICENSE][license]
## Specifications
Retrieved from https://wiki.oasis-open.org/security/FrontPage
#### SAML V2.0 Standard
- SAML2 Core (aka Assertions and Protocols): http://www.oasis-open.org/committees/download.php/56776/sstc-saml-core-errata-2.0-wd-07.pdf
- Assertion schema: http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd
- Protocols schema: http://docs.oasis-open.org/security/saml/v2.0/saml-schema-protocol-2.0.xsd
- Bindings: http://www.oasis-open.org/committees/download.php/56779/sstc-saml-bindings-errata-2.0-wd-06.pdf
- Profiles: http://www.oasis-open.org/committees/download.php/56782/sstc-saml-profiles-errata-2.0-wd-07.pdf
- Metadata: http://www.oasis-open.org/committees/download.php/56785/sstc-saml-metadata-errata-2.0-wd-05.pdf
- Metadata schema: http://docs.oasis-open.org/security/saml/v2.0/saml-schema-metadata-2.0.xsd
- Authentication Context: http://docs.oasis-open.org/security/saml/v2.0/saml-authn-context-2.0-os.pdf
- Conformance Requirements: https://docs.oasis-open.org/security/saml/v2.0/saml-conformance-2.0-os.pdf
- Security and Privacy Considerations: http://docs.oasis-open.org/security/saml/v2.0/saml-sec-consider-2.0-os.pdf
- Glossary: http://docs.oasis-open.org/security/saml/v2.0/saml-glossary-2.0-os.pdf#### Profiles and extensions
- Metadata Extension for SAML V2.0 and V1.x Query Requesters: http://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-metadata-ext-query-os.pdf
- SAML V2.0 Metadata Interoperability Profile: https://docs.oasis-open.org/security/saml/Post2.0/sstc-metadata-iop-os.pdf
- SAML V2.0 Metadata Extensions for Login and Discovery User Interface Version 1.0: https://docs.oasis-open.org/security/saml/Post2.0/sstc-saml-metadata-ui/v1.0/os/sstc-saml-metadata-ui-v1.0-os.pdf
- SAML V2.0 LDAP/X.500 Attribute Profile: http://www.oasis-open.org/committees/download.php/28042/sstc-saml-attribute-x500-cs-01.pdf
- SAML V2.0 Enhanced Client or Proxy Profile Version 2.0: https://docs.oasis-open.org/security/saml/Post2.0/saml-ecp/v2.0/cs01/saml-ecp-v2.0-cs01.pdf#### Committee Specifications
- SAML V2.0 Subject Identifier Attributes Profile Version 1.0: https://docs.oasis-open.org/security/saml-subject-id-attr/v1.0/cs01/saml-subject-id-attr-v1.0-cs01.pdf
## Installation
You can install PySAML2 through pip:
```shell
pip install pysaml2
```### External dependencies
PySAML2 works with the [`xmlsec`][xmlsec] binary.
Notice that support for xmlsec `1 1.3` was added with `v7.4.2`.`xmlsec` should be readily available in most Linux distributions:
```shell
$ apt-get install xmlsec1
$ dnf install xmlsec1-openssl
$ yum install xmlsec1-openssl
$ pacman -S xmlsec
...
```and on MacOS through [`homebrew`][brew]
```shell
$ brew install libxmlsec1
```## Changelog
See the [CHANGELOG][clog] to learn about the latest developments.
## Contributing
We've set up a separate document for our [contribution guidelines][contributing].
## Community
[IdentityPython][idpy] is a community around
a collection of libraries and tools to manage identity related concepts with Python code.
You can interact with the community though the [mailing list](https://lists.sunet.se/postorius/lists/idpy-discuss.lists.sunet.se/)
or on the [Slack workspace](https://identity-python.slack.com/) ([invitation](https://join.slack.com/t/identity-python/shared_invite/enQtNzEyNjU1NDI1MjUyLTM2MWI5ZGNhMTk1ZThiOTIxNWY2OTY1ODVmMWNjMzUzMTYxNTY5MzE5N2RlYjExZTIyM2MwYjBjZGE4MGVlMTM)).## Development
We've set up a separate document for [developers][dev].
### Releasing
We've set up a separate document for our [release process][rel].
### Pre-commit
(TODO)
[idpy]: https://idpy.org/
[docs]: https://pysaml2.readthedocs.io/
[contributing]: https://github.com/IdentityPython/pysaml2/blob/master/CONTRIBUTING.md
[sec]: https://github.com/IdentityPython/pysaml2/blob/master/SECURITY.md
[repo]: https://github.com/IdentityPython/pysaml2/
[dev]: https://github.com/IdentityPython/pysaml2/blob/master/DEVELOPERS.md
[pypi]: https://pypi.org/project/pysaml2/
[license]: https://github.com/IdentityPython/pysaml2/blob/master/LICENSE
[clog]: https://github.com/IdentityPython/pysaml2/blob/master/CHANGELOG.md
[rel]: https://github.com/IdentityPython/pysaml2/blob/master/RELEASE.md
[xmlsec]: http://www.aleksey.com/xmlsec/
[brew]: https://brew.sh/