<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Way of Spark &#187; Authentification</title>
	<atom:link href="http://wayofspark.com/tag/authentification/feed/" rel="self" type="application/rss+xml" />
	<link>http://wayofspark.com</link>
	<description>problèmes et solutions de l&#039;informatique de tous les jours, pour nous, les devs.</description>
	<lastBuildDate>Sat, 14 Aug 2010 11:31:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Gestion de l&#8217;authentification de vos sites avec RPX</title>
		<link>http://wayofspark.com/2009/06/29/gestion-de-lauthentification-de-vos-sites-avec-rpx/</link>
		<comments>http://wayofspark.com/2009/06/29/gestion-de-lauthentification-de-vos-sites-avec-rpx/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 21:34:51 +0000</pubDate>
		<dc:creator>Spark</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Authentification]]></category>
		<category><![CDATA[Identification]]></category>
		<category><![CDATA[OpenID]]></category>
		<category><![CDATA[RPX]]></category>

		<guid isPermaLink="false">http://wayofspark.com/?p=120</guid>
		<description><![CDATA[Étant en plein développement d&#8217;un petit pastebin-like en python ( enfin c&#8217;est un peu plus que ca, mais j&#8217;en reparlerais quand il sera fini ), le problème de la gestion de mes utilisateurs s&#8217;est posé assez vite. Ne voulant pas avoir à gérer moi même l&#8217;authentification ( D&#8217;abord parce que je ne juge pas ça [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;"><img class="size-full wp-image-135 aligncenter" title="rpx_2" src="http://wayofspark.com/wp-content/uploads/2009/06/rpx_2.jpg" alt="rpx_2" width="542" height="190" /></p>
<p>Étant en plein développement d&#8217;un petit pastebin-like en python ( enfin c&#8217;est un peu plus que ca, mais j&#8217;en reparlerais quand il sera fini ), le problème de la gestion de mes utilisateurs s&#8217;est posé assez vite.</p>
<p>Ne voulant pas avoir à gérer moi même l&#8217;authentification ( D&#8217;abord parce que je ne juge pas ça nécessaire, des choses comme OpenID le faisant très bien, et ensuite, ok, par flemme un peu, pas envie de gerer les mots de passes, les resets, d&#8217;être sur que tout est 100% secure&#8230;),  je me suis rappelé que mon compte StackOverflow s&#8217;identifie via mon google account. En creusant un peu, j&#8217;ai appris que leur authentification était gérer par un service se nommant RPX.</p>
<p><strong>Mais RPX c&#8217;est quoi exactement ?</strong></p>
<p>RPX est un service d&#8217;authenfication par OpenID assez jeune, et pourtant utilisé sur un certain nombre de sites de taille importante, comme <a href="http://uservoice.com/">UserVoice</a> , <a href="http://www.interscope.com/">Interscope</a>, ou encore <a href="http://stackoverflow.com/">StackOverflow</a>, dont je parlais dans un précédent billet.<span id="more-120"></span></p>
<p>Allez, comme un joli schéma vaut mieux qu&#8217;un long discours, RPX fournis un service qui ressemble à ca :</p>
<p style="text-align: center;"><img class="size-full wp-image-123 aligncenter" title="rpx_howto" src="http://wayofspark.com/wp-content/uploads/2009/06/rpx_howto.JPG" alt="rpx_howto" width="500" height="188" /></p>
<p style="text-align: left;">Traduction : RPX se positionne entre votre site web et les fournisseurs d&#8217;identification tierces (comme OpenID ou GoogleID par exemple ), et facilite l&#8217;utilisation de ces derniers.</p>
<p style="text-align: left;">En pratique, lorsque l&#8217;utilisateur va vouloir s&#8217;authentifier sur votre site, il va passer par une widget RPX (iframe embarquée ou popup), qui lui présente la liste des fournisseurs disponibles.</p>
<p style="text-align: left;">Par exemple, sur le site d&#8217;uservoice (la widget est a gauche, uservoice propose aussi une inscription directe au site) :</p>
<p style="text-align: center;"><a class="thickbox" href="http://wayofspark.com/wp-content/uploads/2009/06/login_uservoice.jpg"><img class="size-full wp-image-145 aligncenter" title="login_uservoice" src="http://wayofspark.com/wp-content/uploads/2009/06/login_uservoice.jpg" alt="login_uservoice" width="499" height="268" /></a></p>
<p>L&#8217;utilisateur choisir son système d&#8217;authentification et est alors dirigé vers la page de login du fournisseur tier. Par exemple pour facebook, il arrive ici :</p>
<p style="text-align: center;"><a class="thickbox" href="http://wayofspark.com/wp-content/uploads/2009/06/auth_facebook.jpg"><img class="size-full wp-image-127 aligncenter" title="auth_facebook" src="http://wayofspark.com/wp-content/uploads/2009/06/auth_facebook.jpg" alt="auth_facebook" width="534" height="307" /></a></p>
<p>Une fois l&#8217;authentification effectuée, l&#8217;utilisateur est redirigé vers votre site. (Pour certain fournisseurs comme google, lors de la première identification, l&#8217;utilisateur passe par une page lui demandant de confirmer qu&#8217;il autorise bien le site à accéder à ses informations)</p>
<p style="text-align: center;"><a class="thickbox" href="http://wayofspark.com/wp-content/uploads/2009/06/auth_google.jpg"><img class="size-full wp-image-143 aligncenter" title="auth_google" src="http://wayofspark.com/wp-content/uploads/2009/06/auth_google.jpg" alt="auth_google" width="465" height="187" /></a></p>
<p>Et c&#8217;est la que RPX fait la jointure retour avec votre site : une fois que l&#8217;utilisateur s&#8217;est authentifié, RPX vous indique (de façon sécurisée évidemment) si l&#8217;utilisateur s&#8217;est correctement authentifié ou non, et si oui, il vous transmet ses informations publiques ( email, nom d&#8217;utilisateur, nom d&#8217;usage et clef openId ).</p>
<p>A partir de la, vous avez votre utilisateur authentifié, vous savez qui il est, et vous êtes libre de faire ce que vous voulez (inscription en base, passage en session&#8230;)</p>
<p><strong>Coté services </strong></p>
<p>RPX propose 3 types de comptes :</p>
<ul>
<li>Basic ( Gratuit )</li>
<li>Plus ( 100$ / an )</li>
<li>Pro ( 500$ / an )</li>
</ul>
<p>Je vous rassure tout de suite, le basic est largement suffisant pour tout ce qu&#8217;on pourrait vouloir sur un site de petite voir moyenne envergure :</p>
<p>Il est limité à 6 providers d&#8217;identifications (alors que les autres types de comptes n&#8217;ont pas de limite), cependant on peut quand même choisir ceux qu&#8217;on veut tous ceux disponibles,  c&#8217;est amplement suffisant ( personnellement j&#8217;ai pris OpenID, Google, Facebook, Twitter, Yahoo et AOL, ce qui couvre deja pas mal). A noter que pour facebook et twitter, il faut faire une petite manip pour créer une application tierse, mais tout est très bien expliqué sur le site de RPX, ca se passe donc sans problèmes.</p>
<p style="text-align: left;">Hormis le nombre de providers, les différences entre les types de comptes viennent surtout du support apporté à coté ( profiling, stats, customisation de la widget&#8230; ). plus d&#8217;information dans le <a href="https://rpxnow.com/get">comparatif sur le site officiel</a>.<a href="https://rpxnow.com/get"><br />
</a></p>
<p style="text-align: left;"><strong>Les points négatifs</strong></p>
<p style="text-align: left;">Même si le service proposé est vraiment intéressant, il faut quand même noter quelques points négatifs :</p>
<p style="text-align: left;">Tout d&#8217;abord, l&#8217;appel à la widget affichant le service d&#8217;identification est relativement lent (au moins pour les comptes gratuits, ca à l&#8217;air moins lent sur uservoice et stackoverflow). En effet l&#8217;affichage de l&#8217;iframe sur la page de login doit mettre une bonne seconde à s&#8217;afficher. C&#8217;est un détail, mais tout de même.</p>
<p style="text-align: left;">Ensuite, cela peut dérouter les utilisateurs ne connaissant pas le principe :l&#8217;utilisateur arrive sur un site, cherche à s&#8217;inscrire, et se retrouve diriger vers sa page google ou facebook. Cela peut dérouter quelques peu, voir même ressembler à du phishing. De plus, même si, quand on prend le temps de se renseigner, on sais que les informations fournis par les providers sont publiques (email, nom, clef openId &#8230; rien de très compromettant), on peut être effrayer au début en autorisant facebook à délivrer ses informations personnels à un site tier&#8230;</p>
<p style="text-align: left;">Enfin, pour finir, même si les risques sont très faibles, le jour ou le service RPX tombe en rade, on se retrouve avec un joli site sur lequel toute identification est impossible&#8230;</p>
<p style="text-align: left;">Un retour un peu plus complet sur les &#8220;dangers&#8221; de RPX est consultable <a href="http://blog.nerdbank.net/2009/01/why-using-rpxnow-is-bad-idea.html">ici</a> , même si la plupart des choses ne sont pas spécifiquement objectives.</p>
<p style="text-align: left;">Sinon, pour ceux que ca intéresse, un autre billet devrait bientôt suivre sur comment brancher RPX sur un Pylons. En attendant, le tutoriel sur lequel je me suis principalement basé est disponible <a href="http://tonylandis.com/python/openid-db-authentication-in-pylons-is-easy-with-rpx/">ici</a>.</p>
<p style="text-align: left;">RPX -  <a href="https://rpxnow.com/">RPXNow.com</a></p>
    ]]></content:encoded>
			<wfw:commentRss>http://wayofspark.com/2009/06/29/gestion-de-lauthentification-de-vos-sites-avec-rpx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
