Souk is no longer maintained. If you are looking for an Identity Provider, you should look at Authentic.
Souk is a free software Python framework that implements the Liberty Alliance ID-FF 1.2 protocols. It allows to build full-featured identity providers, service providers and proxies and includes sample code for all these servers (See examples below).
Copyright © 2004, 2005 Entr'ouvert
The latest Souk release is available as a gzipped tarball: souk-0.6.0.tar.gz
This version of Souk is designed to be used with Lasso 0.6.0 or greater.
Since version 0.6.0, Souk has been ported to Windows and an installer is available from the GForge project page.
python setup.py build python setup.py install
One of the Souk examples features 2 service providers, 2 different kinds of proxies and 2 identity providers.
To test it, add the following lines to your
127.0.0.1 idp1.lasso.lan idp2.lasso.lan 127.0.0.1 proxy1.lasso.lan proxy2.lasso.lan 127.0.0.1 sp1.lasso.lan sp2.lasso.lan
Launch each server below in a different terminal:
./sp1.py ./sp2.py ./proxy1.py ./proxy2.py ./idp1.py ./idp2.py
Restart your web browser to take care of the changes in
Then you can use it to connect to the following URLs:
At startup, there exists 4 accounts on each service and identity provider. Their login begins with "alice", "bob", "charlie" & "david" and are suffixed using "-sp1", "-sp2", "-idp1" & "-idp2". For example the login for Bob on service provider 2 is "bob-sp2".
Initially there is no identity federation between accounts. So the first time you attempt to single sign-on, don't forget to set "Name ID Policy" to "Federated", otherwise the authentication will fail.
Each server stores everything in RAM. It doesn't remember anything once it is stopped; even identity federations are lost.