python SAML metadata aggregator
This is a SAML metadata aggregator written in python. It is based on the model for metadata exchange by Ian Young: http://iay.org.uk/blog/2008/10/metadata_interc.html
- Fully customizable processing pipelines in yaml.
- Easy to retrieve, analyze, transform, sign and publish SAML metadata.
- Operate in batch or online mode using embedded HTTP server.
- Provide a full MDX implementation.
- Make use of PKCS#11 tokens and HSMs for key protection.
- Fully compatible with thiss.io discovery service.
- Fully compatible with mdq-browser frontend app.
- PyKCS11 (optional)
- gunicorn (for the standalone pyffd server)
- … cf requirements.txt
Project homepage: https://pyff.io/
Release date: UNRELEASED
- This is the first unreleased version of the code
Release date: Tue Jul 10 15:48:07 CEST 2012
- Schema validation
- Refactor dynamic loading framework
Release date: Wed Jul 11 16:31:06 CEST 2012
- XML signing and validation using http://pypi.python.org/pypi/dm.xmlsec.binding (requires M2Crypto at present)
Because of the way OpenSSL handles self-signed certificates the XML validation extracts the public key from the certificate and uses that instead of the X509 certificate to validate an XML signature. Right now this introduces a dependency on M2Crypto which will be removed in the fugure. Note that ubuntu/debian users should install python-m2crypto instead of installing M2Crypto (http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637904)
Release date: Thu Aug 30 08:00:00 CEST 2012
- XML signing and validation using pyXMLSecurity
- Support for PKCS#11-based HSMs using pykcs11
We are now using a (limited) pure-python implmementation of xmlsec which makes it easier to sign using HSMs. The only mandatory non-python dependency now is lxml.
Release date: Fri Sep 7 10:13:33 CEST 2012
- support breaking out of pipelines using exceptions
- kill the pipeline if selects picks 0 elements
- more debug logging
- more robust handling of zero-length selectors
- completely remove pyOpenSSL dependency
- many bugfixes and cleanup
Release date: Fri Nov 30 09:37:59 CET 2012
- HTTP-based pyffd with MDX support
- several bugfixes
- indexing in MDRepository
- completely rewritten URL fetcher with monitoring
0.9 and 0.9.1
Release date: Tue Apr 9 18:03:13 CEST 2013
- Lots of bugfixes
- pep8 cleanup
- stability & testcases
- Release date: Mon Apr 15 13:19:14 CEST 2013*
- caching in pyffd now works
- version information on cmdline
- ‘remove’ merge strategy from Peter S
- cleanup & bugfixes
- Release date: Wed May 15 12:09:57 CEST 2013*
- better discovery UI
- Release date: Mon Sep 23 14:11:16 CEST 2013*
- bugfixes, minor UI improvements
- documentation imporovements
- Release date: Fre 14 jun 2019 11:42:56 CEST
- Major changes to the backend subsystem
- New redis+whoos-based backend
- Standalone API with WSGI-support based on pyramid
- apscheduler used for backround tasks including resource fetch
1.0.1 — * Release date: tis 18 jun 2019 12:13:41 CEST * A samldiff tool * Minor fixes to align requirements for docker package
1.1.0 — * Release date: fre 12 jul 2019 10:27:05 CEST * simplify resource management and introduce new thread-based fetcher architecture * new icon fetching infrastructure * re-introduce predictive load order * multiple bug fixes and cleanup * documentation restructure and rewrite
1.1.1 — * Release date: tor 18 jul 2019 16:05:54 CEST * Fix bug affecting entityIDs with querystring components thx to Maja Wolniewicz <email@example.com>
1.1.2 — * Release date: ons 19 feb 2020 14:35:45 CET * Bugfixes * Documentation updates
1.1.3 — * Release date: ons 16 sep 2020 14:21:20 CEST * Limited support for i18n in JSON export - alternative and primary language choices * Bugfixes related to mime-type for metadata
1.1.4 — * Release date: tor 17 sep 2020 00:50:42 CEST * Bugfixes for language support * Support for exposing multiple language tags in discojson
1.1.5 — * Release date: tis 1 dec 2020 14:19:18 CET * Remove dependency on minify
1.2.0 & 2.0.0 — * Release date: tor 1 apr 2021 21:15:14 CEST * 1.2.0 contains several bugfixes from 1.1.5 * 2.0.0 drops all frontend components and returns pyFFd to an API-only service
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.