title:      ★ Comment utiliser OpenID, la solution d&#39;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

<p>Cela fait un moment que je suis ça de loin et la sauce est en train de prendre, <a href="http://programmation-python.org/sections/blog/2006_12_19_openid-systeme">Tarek en parlait d'ailleurs récemment</a>. <a href="http://openid.net/">OpenID</a> permet de s'identifier via une simple <abbr title="Uniform Resource Locator">URL</abbr> 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 «&nbsp;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.</p>

<h2>Comment créer un compte OpenID&nbsp;?</h2>


<p>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 (<a href="http://www.livejournal.com/">LiveJournal</a>, <a href="http://www.vox.com/">Vox</a> ou <a href="http://pip.verisignlabs.com/">VeriSign Labs</a>), autant utiliser votre compte sinon je préconise <a href="http://www.myopenid.com/">MyOpenID</a> qui me semble plus «&nbsp;libre » et sur lequel j'ai créé mon OpenID très facilement.</p>


<p>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.</p>


<h2>Comment avoir son propre domaine OpenID&nbsp;?</h2>


<p>Vous disposez maintenant d'une <abbr title="Uniform Resource Locator">URL</abbr> de la forme <a href="http://david.larlet.myopenid.com/">http://david.larlet.myopenid.com</a> 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 <a href="http://larlet.fr/">http://larlet.fr</a>  dans mon cas puisque j'ai décidé que ce serait mon identité numérique sur internet.</p>


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


<pre>&lt;link rel="openid.server" href="http://<strong>serveur_OpenID</strong>" /&gt; 
&lt;link rel="openid.delegate" href="http://<strong>identifiant_OpenID</strong>/" /&gt;</pre>


<p>avec <strong>serveur_OpenID</strong> qui est le serveur fournit par votre site d'authentification&nbsp;:</p>
<ul>
<li>LiveJournal&nbsp;: http://www.livejournal.com/openid/server.bml</li>
<li>Vox&nbsp;: http://www.vox.com/services/openid/server</li>
<li>VeriSign&nbsp;: https://pip.verisignlabs.com/server</li>
<li>MyOpenID&nbsp;: http://www.myopenid.com/server</li>
</ul>

<p>et <strong>identifiant_OpenID</strong> votre <abbr title="Uniform Resource Locator">URL</abbr> identifiante.</p>


<p>soit dans mon cas&nbsp;:</p>


<pre>&lt;link rel="openid.server" href="http://www.myopenid.com/server" /&gt;
&lt;link rel="openid.delegate" href="http://david.larlet.myopenid.com/" /&gt;</pre>


<p>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.</p>


<h2>Sur quels sites utiliser OpenID&nbsp;?</h2>


<p>Le problème d'une technologie «&nbsp;é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 <a href="http://openid.net/">site officiel d'OpenID</a> ou <a href="http://del.icio.us/tag/openidconsumer">via le tag openidcustomer sur del.icio.us</a> ou <a href="https://www.myopenid.com/directory">sur MyOpenID</a> directement.</p>


<p>Pour en citer quelques uns&nbsp;: <a href="http://ma.gnolia.com/signin">Ma.gnolia</a>, <a href="http://beta.zooomr.com/login">Zooomr</a> ou <a href="http://wikitravel.org/en/Special:OpenIDLogin">WikiTravel</a> proposent ce type d'identification.</p>


<h2>Créer son propre fournisseur d'identité OpenID</h2>


<p>Je vous renvoi directement à <a href="http://www.intertwingly.net/blog/2007/01/03/OpenID-for-non-SuperUsers#MasterOfYourDomain">la bonne partie du post de Sam Ruby</a> 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.</p>


<h2>Utiliser OpenID pour son blog</h2>


<p>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 <a href="http://kib2.webfactional.com/">blog déjà</a> <a href="http://aon.shortbrain.org/">sous django</a> (bientôt, bientôt...), n'hésitez pas à lire la page <a href="http://code.djangoproject.com/wiki/CookBookShortcutsOpenIDAuthentication">OpenID Authentication</a> qui donne la solution quasiment clés en main.</p>


<p>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à. <a href="http://www.openidenabled.com/openid/libraries">Des bibliothèques sont disponibles sur le site OpenIDEnabled</a>.</p>


<h2>Ressources</h2>


<p>Principalement le post de Simon Willison&nbsp;: <a href="http://simonwillison.net/2006/Dec/19/openid/">How to turn your blog in to an OpenID</a> ainsi que <a href="http://simonwillison.net/2006/openid-screencast/">le screencast associé</a> (très compréhensible) ainsi que l'article <a href="http://www.intertwingly.net/blog/2007/01/03/OpenID-for-non-SuperUsers">OpenID for non-SuperUsers</a> de Sam Ruby. Ces sites utilisent bien sûr OpenID pour l'identification dans leur commentaires.</p>


<p><strong>[edit du 5]</strong>&nbsp;: je viens de tomber sur la traduction du billet de Simon Willison&nbsp;: <a href="http://xtof.livejournal.com/3305.html">Comment transformer votre blog en une OpenID ?</a></p>


<p><strong>[edit du 8]</strong>&nbsp;: ça bouge encore du côté de Django avec <a href="http://trac.nicolast.be/djangoid/">DjangoID</a>&nbsp;:</p>


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


<p>Et <a href="http://www.b-list.org/weblog/2007/01/08/openid-delegation-under-django-and-lighttpd">James en remet une couche</a>.</p>
