Lasso
Présentation des prestations de SSO chez Entr'Ouvert.
Les projets
- Lasso: bibliothèque multi-langages pour utiliser un environnement Liberty Alliance
- Authentic: fournisseur d'identités
- Larpe: reverse proxy, pour gérer Liberty Alliance sans toucher le code de l'application. Attention, cela ne fonctionne pas toujours, voir par exemple les services Libre-Entreprise qui n'ont pas pu être libertisés.
Exemples
- Libertisation de SPIP
- w.c.s. est un logiciel d'Entr'Ouvert qui utilise Lasso.
Créer une paire de clef:
$ openssl genrsa -out smthing-priv.pem $ openssl rsa -in smthing-priv.pem -pubout > smthing-pub.pem
Obtenir un fichier XML de IDP: installer Authentic. La doc de référence est INSTALL. Elle est un peu spartiate, voici un complément:
- Paquets nécessaires:
echo "deb http://deb.entrouvert.org etch main" >> /etc/apt/sources.list aptitude update aptitude install python-lasso python-scgi libapache2-mod-scgi
- Récupérer Authentic
svn checkout svn://labs.libre-entreprise.org/svnroot/authentic/trunk authentic
- Installer Authentic
# Python code sudo python setup.py install # Images and CSS files sudo cp -r root /usr/share/authentic/web
- Démarrer Authentic (TODO: démarrer en www-data:www-data)
sudo ./authenticctl.py start
- Paramétrer Apache (cf. INSTALL), par exemple pour Apache2+SCGI:
<VirtualHost 127.0.0.1> ServerAdmin webmaster@locahost ServerName www.example.com DocumentRoot /usr/share/authentic/web/ SCGIMount / 127.0.0.1:3002 <LocationMatch "^/(css|images|js)/.*"> SCGIHandler off </LocationMatch> </VirtualHost>
- Suivre INSTALL pour configurer un premier compte, puis demander Liberty Identity Provider Metadata.
Obtenir un fichier XML de SP: voir les didactitiels (tutorials) MAIS MAIS MAIS:
- ne mettez surtout pas d'espaces autour de votre
AssertionConsumerServiceURL
comme dans l'exemple, car ils ne seront pas nettoyés et SCGI renverra une URL invalide (et du coup une erreur 500) :/ - le
SingleLogoutProtocolProfile
est http://projectliberty.org/profiles/slo-sp-soap et non pas http://projectliberty.org/profiles/slo-idp-soap (<coe>sp/service provider à la place deidp
/identify provider)
Documentation
- Page officielle
- Wiki d'Entr'Ouvert dont la version wiki de la doc Lasso [1].
Autres
- Candle is a sample Liberty Attribute Provider
- Unwind is a sample Liberty Attributes Consumer
- Expression is a Liberty Alliance, WebDAV and XML based web application framework with its own HTTP server; written in Python
- Lasso Conformance Service Provider is a SAML 2.0 provider aimed to expose every aspect of SAML 2 protocols in the UI so they can be tested in conformance events
- IdPC: Liberty Alliance Identity Provider as a C CGI program - ancêtre de Authentic?
- Souk: ce projet, initialement un environnement de test, n'est non seulement plus maintenu mais également effacé, les auteurs recommandent d'utiliser Authentic à la place