Différences entre versions de « Lasso »

De Cliss XXI
Sauter à la navigation Sauter à la recherche
imported>SylvainBeucler
imported>SylvainBeucler
m (→‎Exemples : updates)
Ligne 15 : Ligne 15 :
  
 
Créer une paire de clef:
 
Créer une paire de clef:
  $ openssl genrsa -out smthing-priv.pem
+
* Avec GnuTLS:
  $ openssl rsa -in smthing-priv.pem -pubout > smthing-pub.pem
+
certtool --generate-privkey --outfile smthing-priv.pem
 +
# TODO: export public counterpart
 +
* Avec OpenSSL
 +
  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:
 
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:
 +
* Récupérer Authentic
 +
svn checkout svn://labs.libre-entreprise.org/svnroot/authentic/trunk authentic
 
* Paquets nécessaires:
 
* Paquets nécessaires:
 +
aptitude install python-scgi libapache2-mod-scgi python-quixote
 
  echo "deb http://deb.entrouvert.org etch main" >> /etc/apt/sources.list
 
  echo "deb http://deb.entrouvert.org etch main" >> /etc/apt/sources.list
 
  aptitude update
 
  aptitude update
  aptitude install python-lasso python-scgi libapache2-mod-scgi
+
  aptitude install python-lasso
* Récupérer Authentic
+
* Installer Authentic (/usr/share/authentic/, /usr/lib/python2.4/site-packages/authentic/, /usr/bin/authenticctl.py)
svn checkout svn://labs.libre-entreprise.org/svnroot/authentic/trunk authentic
 
* Installer Authentic
 
# Python code
 
 
  sudo python setup.py install
 
  sudo python setup.py install
  # Images and CSS files
+
* Démarrer Authentic
  sudo cp -r root /usr/share/authentic/web
+
  useradd --home /var/lib/authentic authentic
* Démarrer Authentic (TODO: démarrer en www-data:www-data)
+
  mkdir -m 755 /var/lib/authentic
  sudo ./authenticctl.py start
+
chown authentic: /var/lib/authentic
 +
  sudo su - authentic -c "authenticctl.py start"
 
* Paramétrer Apache (cf. INSTALL), par exemple pour Apache2+SCGI:
 
* Paramétrer Apache (cf. INSTALL), par exemple pour Apache2+SCGI:
 
  <VirtualHost 127.0.0.1>
 
  <VirtualHost 127.0.0.1>
 
     ServerAdmin webmaster@locahost
 
     ServerAdmin webmaster@locahost
     ServerName www.example.com
+
     ServerName authentic.local
 
     DocumentRoot /usr/share/authentic/web/
 
     DocumentRoot /usr/share/authentic/web/
 
   
 
   
Ligne 43 : Ligne 48 :
 
     </LocationMatch>
 
     </LocationMatch>
 
  </VirtualHost>
 
  </VirtualHost>
* Suivre INSTALL pour configurer un premier compte, puis demander ''Liberty Identity Provider Metadata''.
+
* Relancer Apache:
 +
a2enmod scgi
 +
invoke-rc.d apache2 restart
 +
* <code>/etc/hosts</code>:
 +
127.0.0.1 authentic.local
 +
* Suivre INSTALL, section "First Use" pour configurer un premier compte (http://authentic.local/admin/), puis demander ''Liberty Identity Provider Metadata''.
  
 
Obtenir un fichier XML de SP: voir les didactitiels (tutorials) MAIS MAIS MAIS:
 
Obtenir un fichier XML de SP: voir les didactitiels (tutorials) MAIS MAIS MAIS:

Version du 20 décembre 2007 à 15:04

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 (support LDAP)
  • 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 (cf. liste interne [1]).
  • scalp: module Apache pour gérer une partie de la couche SSO. bzr branch http://perso.entrouvert.org/~fred/bzr/modscalp/. Cette solution ne gère pas les sessions, ni donc le SingleLogout. Elle simplifie l'implémentation de la phase d'authentification, tout étant réalisé dans une même session Apache, avec un résultat sous forme de variable d'environnement (donc pas de problème de confiance / de validation des entrées).
  • mod_mellon: autre module Apache fait par d'autres personnes, pourrait remplacer mod_scalp à terme [2].

Exemples

Créer une paire de clef:

  • Avec GnuTLS:
certtool --generate-privkey --outfile smthing-priv.pem
# TODO: export public counterpart
  • Avec OpenSSL
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:

  • Récupérer Authentic
svn checkout svn://labs.libre-entreprise.org/svnroot/authentic/trunk authentic
  • Paquets nécessaires:
aptitude install python-scgi libapache2-mod-scgi python-quixote
echo "deb http://deb.entrouvert.org etch main" >> /etc/apt/sources.list
aptitude update
aptitude install python-lasso
  • Installer Authentic (/usr/share/authentic/, /usr/lib/python2.4/site-packages/authentic/, /usr/bin/authenticctl.py)
sudo python setup.py install
  • Démarrer Authentic
useradd --home /var/lib/authentic authentic
mkdir -m 755 /var/lib/authentic
chown authentic: /var/lib/authentic
sudo su - authentic -c "authenticctl.py start"
  • Paramétrer Apache (cf. INSTALL), par exemple pour Apache2+SCGI:
<VirtualHost 127.0.0.1>
   ServerAdmin webmaster@locahost
   ServerName authentic.local
   DocumentRoot /usr/share/authentic/web/

   SCGIMount / 127.0.0.1:3002
   <LocationMatch "^/(css|images|js)/.*">
     SCGIHandler off
   </LocationMatch>
</VirtualHost>
  • Relancer Apache:
a2enmod scgi
invoke-rc.d apache2 restart
  • /etc/hosts:
127.0.0.1 authentic.local
  • Suivre INSTALL, section "First Use" pour configurer un premier compte (http://authentic.local/admin/), puis demander Liberty Identity Provider Metadata.

Obtenir un fichier XML de SP: voir les didactitiels (tutorials) MAIS MAIS MAIS:

Documentation

Limitations

  • Gestion d'erreur améliorable en PHP. La version de développement est en train de se débarrasser de SWIG pour régler la question [4] [5].

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