Je continue dans la reprise du contrôle de mes données. Mon objectif, comme je l'ai déjà évoqué, est de ne pas être dépendant d'un fournisseur et de pouvoir facilement changer de fournisseur si celui-ci ne respecte plus ce que j'attends de lui (prix, publicité intempestive, politique de stockage de données, ...).

J'ai déjà repris la main sur mes mails (avec mon propre nom de domaine et l'utilisation pour le moment de Google Apps), le stockage de mes photos, sur le microblogging (que je n'utilise pas beaucoup mais c'est un autre sujet). Aujourd'hui, je vais vous parler de l'authentification via OpenID.

OpenID est un système d’authentification décentralisé qui permet l’authentification unique (...). Il permet à un utilisateur de s’authentifier auprès de plusieurs sites (devant prendre en charge cette technologie) sans avoir à retenir un identifiant pour chacun d’eux mais en utilisant à chaque fois un unique identifiant OpenID.

(source Wikipedia)

En résumé, vous vous authentifiez une fois auprès de votre fournisseur (par exemple, Yahoo) avec votre identifiant/mot de passe classique et vous êtes automatiquement identifié sur l'ensemble des services qui utilisent cette technologie et où vous avez renseigné votre adresse OpenID.

Il existe de nombreux fournisseurs OpenID (PIP Verisign, MyOpenId, Yahoo, Google, Orange). J'utilisais jusqu'à maintenant celui de Yahoo mais, sauf erreur de ma part, il a un inconvénient majeur. Il n'autorise pas la délégation d'authentification. J'ai donc changé pour un fournisseur acceptant la délégation authentification (en l'occurence PIP Verisign).

L'inconvénient de PIP Verisign est que l'identifiant OpenID fourni n'est pas facile à retenir. Je souhaitais avoir quelque chose de plus simple. L'adresse de mon blog, par exemple, serait parfait. C'est là qu'intervient la délégation d'authentification OpenID.

La délégation d'authentification OpenID permet de définir l'adresse de votre site web comme identifiant OpenID. Cela fonctionne par l'ajout de balises META dans le code HTML de votre page qui va indiquer l'adresse du fournisseur OpenID que vous utilisez.

Les balises META ressemblent à ça :

  • pour OpenID 1.0
<link rel="openid.server" href="http://myprovider.com/openid/server" />
<link rel="openid.delegate" href="http://john.myprovider.com/" />
  • pour OpenID 2.0 (si votre fournisseur supporte OpenID 2.0)
<link rel="openid2.provider" href="http://myprovider.com/server" />
<link rel="openid2.local_id" href="http://john.myprovider.com/" />

Pour plus de détails, je vous renvoie sur la page dédiée de OpenID.net (http://wiki2008.openid.net/Delegation

Bien sûr, si vous utilisez Dotclear, il existe un plugin qui va vous permettre de vous faciliter la vie. Vous n'aurez pas à tripatouiller le code html. Merci à Aurélien Bompard, le développeur de ce plugin. Pour plus d'infos, je vous invite d'ailleurs à lire son billet sur le même sujet.

OpenID a un inconvénient majeur. Toute la sécurité de vos accès reposent sur le fournisseur OpenID. Si quelqu'un arrive à récupérer l'identifiant/mot de passe du compte de votre fournisseur OpenID. Il aura accès à l'ensemble des sites que vous utilisez avec OpenID. Utilisez donc un mot de passe très fort et changez le régulièrement.