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.
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
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
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
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
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.