title: ★ Comment utiliser OpenID, la solution d'identification tant attendue slug: comment-utiliser-openid-la-solution-d-identification-tant-attendue date: 2007-01-04 17:11:22 type: post vignette: images/logos/open_id.png contextual_title1: myOpenID propose des solutions intéressantes contre le phishing contextual_url1: 20070418-myopenid-propose-des-solutions-interessantes-contre-le-phishing contextual_title2: ★ Discussions sur les applications web libres contextual_url2: 20091202-discussions-sur-les-applications-web-libres contextual_title3: ★ Pourquoi avoir peur de Google ? contextual_url3: 20080907-pourquoi-avoir-peur-de-google

Cela fait un moment que je suis ça de loin et la sauce est en train de prendre, Tarek en parlait d'ailleurs récemment. OpenID permet de s'identifier via une simple URL sans pour autant être tributaire d'un service puisque vous pouvez avoir votre propre serveur gérant cette identité. Actuellement il y en a 4 « officiellement reconnus » mais rien ne vous empêche de créer le votre et mon petit doigt me dit qu'il ne va pas tarder à y en avoir à foison.

Comment créer un compte OpenID ?

Je donne ici la solution simple, celle ne nécessitant pas de serveur particulier. Si vous êtes déjà identifiés sur l'un des sites suivants (LiveJournal, Vox ou VeriSign Labs), autant utiliser votre compte sinon je préconise MyOpenID qui me semble plus « libre » et sur lequel j'ai créé mon OpenID très facilement.

Peu d'informations sont demandées et vous pouvez vous identifier sans adresse email. En gros un nom/pseudo est suffisant pour commencer, bien sûr vos informations personnelles peuvent ensuite être complétées et ne sont divulguées aux sites sur lesquels vous vous identifiez que si vous l'autorisez. Il est possible de créer des profils très simplement.

Comment avoir son propre domaine OpenID ?

Vous disposez maintenant d'une URL de la forme http://david.larlet.myopenid.com dans mon cas par exemple. Si vous n'avez pas de page internet, vous pouvez utiliser cette adresse pour vous identifier. Si vous avez votre propre page/domaine, il est plus intéressant de pouvoir vous identifier avec votre propre adresse, par exemple http://larlet.fr dans mon cas puisque j'ai décidé que ce serait mon identité numérique sur internet.

Rien de plus simple, il suffit d'ajouter deux lignes dans l'entête de votre page (entre <head> et </head>) de la forme :

<link rel="openid.server" href="http://serveur_OpenID" /> 
<link rel="openid.delegate" href="http://identifiant_OpenID/" />

avec serveur_OpenID qui est le serveur fournit par votre site d'authentification :

et identifiant_OpenID votre URL identifiante.

soit dans mon cas :

<link rel="openid.server" href="http://www.myopenid.com/server" />
<link rel="openid.delegate" href="http://david.larlet.myopenid.com/" />

L'avantage de cette redirection est que vous pouvez changer de fournisseur d'identité sans conséquence si vous avez un problème avec l'actuel. En revanche, la page qui est pointée doit être stable. A priori si vous avez votre propre domaine, vous agissez en personne responsable.

Sur quels sites utiliser OpenID ?

Le problème d'une technologie « émergente » est qu'elle n'est pas disponible partout à un instant t donc autant le dire tout de suite, peu de sites proposent aujourd'hui de telles manières de s'identifier. Vous trouverez la liste la plus complète sur le site officiel d'OpenID ou via le tag openidcustomer sur del.icio.us ou sur MyOpenID directement.

Pour en citer quelques uns : Ma.gnolia, Zooomr ou WikiTravel proposent ce type d'identification.

Créer son propre fournisseur d'identité OpenID

Je vous renvoi directement à la bonne partie du post de Sam Ruby car je n'ai pas encore testé, je n'ai aucune idée de ce que ça peut donner niveau charge ça doit pas être très violent, peut-être que la freebox pour faire l'affaire à l'occasion.

Utiliser OpenID pour son blog

Bien sûr le rêve de tout blogueur c'est de ne plus avoir de spam. C'est aussi le but de cette identification... à condition d'avoir rendue possible l'identification via OpendId. Actuellement je ne crois pas que les différents outils de blog proposés en donnent la possibilité, la seule page que je connaisse relative à son implémentation est celle de django, donc si vous avez votre blog déjà sous django (bientôt, bientôt...), n'hésitez pas à lire la page OpenID Authentication qui donne la solution quasiment clés en main.

Pour les autres plateforme de blogs, n'hésitez pas à mettre des liens vers les ressources en commentaires, je suis assez peu ces développements là. Des bibliothèques sont disponibles sur le site OpenIDEnabled.

Ressources

Principalement le post de Simon Willison : How to turn your blog in to an OpenID ainsi que le screencast associé (très compréhensible) ainsi que l'article OpenID for non-SuperUsers de Sam Ruby. Ces sites utilisent bien sûr OpenID pour l'identification dans leur commentaires.

[edit du 5] : je viens de tomber sur la traduction du billet de Simon Willison : Comment transformer votre blog en une OpenID ?

[edit du 8] : ça bouge encore du côté de Django avec DjangoID :

DjangoID is a Django-based OpenID server. It allows you to host your own (or someone else's) OpenID identity.

Et James en remet une couche.