Christophe Nowicki

June 11, 2009

Héberger son propre fournisseur d’identité OpenID

Présentation d’OpenID

OpenID est un système d’authentification décentralisé qui permet l’authentification unique, ainsi que le partage d’attributs. Il permet à un utilisateur de s’authentifier auprès de plusieurs sites compatibles sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID.

Cette identifiant se presente sous forme d’URL, celle-ci contient l’adresse du serveur d’identification et le nom de l’utilisateur : http://id.csquad.org/identity/cscm

Je trouve ce système d’identification pratique, car je change de poste de travail ( portable, station de travail, etc…) et je n’ai pas trouvé de solution de synchronisation de mot de passe convaincante.

Pourquoi héberger son propre fournisseur d’identité?

Héberger son propre serveur d’identité vous permet de gérer votre identité numérique.
C’est à dire, déterminer les informations personnelles que vous fournissez au service que vous utilisez.
Héberger ce type de service sur son propre serveur vous garantit que vous avez la main sur vos données personnelles.
Cela vous garantit que :

  • les autres fournisseurs d’identité n’exploitent pas vos données personnelles ;
  • votre compte restera toujours actif, en effet rien ne vous garantit qu’un fournisseur d’identité ne cesse son activité ;
  • une liberté en matière de politique de mot de passe / choix de l’identifiant / nombre de comptes, etc…

Présentation de Community-ID

Community-ID est une application PHP, compatible avec les spécifications OpenID 2.0 sous licence BSD.
Il propose les fonctionnalités suivantes :

  • comptes d’utilisateurs ;
  • données personnelles ;
  • sites fédérés ;
  • historique ;

Configuration de Community-ID sur un serveur Debian GNU/Linux

Voici la procédure d’installation de la version 1.0 de Community-ID sur une distribution Debian GNU/Linux version “Lenny”.

Vous avez besoin :

  • d’un nom de domaine ;
  • d’un serveur Apache avec le support de PHP 5 et le module rewrite ;
  • d’une base de données MySQL avec phpMyAdmin ;

Configuration de MySQL

A l’aide de phpMyAdmin, créer un utilisateur communityid et créer une base portant le même nom en lui donnant tous les privilèges sur cette base.

Installation dépendances

Le programme nécessite les dépendances suivantes :

# apt-get install apache2-mpm-prefork libapache2-mod-php5 php5-mysql php5-gd php5-gmp

Installation du programme

Vous pouvez télécharger le programme sur SourceForge : Community-ID.
et extraire le fichier tar.gz dans le répertoire /var/www :


# cd /var/www
# wget http://freefr.dl.sourceforge.net/sourceforge/communityid/cid-1.0.0.tar.gz
# tar xzf cid-1.0.0.tar.gz
# chown www-data: -R communityid

Vous devez ensuite configurer le site web pour Apache en mettant le contenu suivant dans le fichier /etc/apache2/sites-available/communityid :


<VirtualHost *:80>
ServerName id.nom_de_domaine
ErrorLog /var/log/apache2/id.nom_de_domaine/error.log
CustomLog /var/log/apache2/id.nom_de_domaine/access.log common
DocumentRoot /var/www/communityid/webdir
</VirtualHost>

Il faut créer le répertoire pour les logs du site, activer le site et le module rewrite dans Apache :

# mkdir /var/log/apache2/id.nom_de_domaine/
# a2enmod rewrite
Enabling module rewrite.
Run '/etc/init.d/apache2 restart' to activate new configuration!
# a2ensite communityid
Enabling site communityid.
Run '/etc/init.d/apache2 reload' to activate new configuration!
# /etc/init.d/apache2 restart

Configuration

Vous pouvez ensuite pointer votre navigateur sur l’adresse de votre site : http://id.nom_de_domaine/
La procédure d’installation vous demande les informations de connexion à la base de données pour configurer celle-ci.
Une fois la base de données crée, vous pouvez vous connecter à l’interface à l’aide de l’utilisateur admin et du mot de passe admin, pour vous créer un compte.

Liste des services compatibles

Voici la liste des quelques services que j’utilise avec mon serveur OpenID :

Il existe de nombreux services compatibles avec ce système d’authentification, référencés par l’annuaire OpenID Directory.

Les principaux systèmes de blog proposent le support d’OpenID sous forme de plugin :

Si vous avez réussi à installer votre fournisseur d’identité, vous pouvez vous connecter sur mon blog pour me laisser un commentaire ;-)

Filed under: Debian — Tags:, — cscm @ 07:31

Comments are closed.

Powered by WordPress