Grand fan de la première heure d'OpenID, je trouve ce système d'authentification très prometteur. J'en avais fait une brève présentation dans ce billet avec myopenid.com, ou encore dans cet exemple pour utiliser son domaine à la place de myopenid.com.
Un grand nombre de sites l'implémentent (> 40 000), même les grands acteurs tels que Google, Microsoft, etc... s'y sont mis : fournir une URL OpenId. Mais la plupart n'offrent pas la possibilité d'utiliser un autre fournisseur OpenID pour se connecter à leur service, cela ne va pas dans le bon sens, en tout cas pas dans la liberté de choix de son URL d'authentification.
[stats. tirés du blog JanRain]
Dans un monde idéal doté d'un bon sens à toute épreuve, OpenID serait l'eldorado de l'authentification. Mais voilà, c'était sans compter sur les propres intérêts des grands du Web 2.0, à vouloir canaliser toujours plus le connecté dans ses choix de sa gestion d'identité : Facebook avec FB Connect, Google avec un mélange d'OpenID et d'OAuth (on pourra regarder du côté de Plaxo), mais aussi MySpace, Yahoo ID, Live ID (via Azure), magrossentrepriseconnaitbienlacrise.com, ...
Le problème de ces protocoles qui fleurissent, est leur implémentation que l'on souhaite porter sur son site, son blog, son application Web : cela reste toujours un pari, que dois-je offrir à mes connectés comme possibilité de s'authentifier : OpenID, Facebook connect, Live ID, Zork ID, tout à la fois ? A chaque fois, cela demande d'implémenter le protocole, donc du temps avec un retour sur investissement pas forcément si simple, sans compter les bugs et la maintenabilité de cette implémentation, qui demandera énormément de temps et des compétences spécifiques.
C'est alors que RPXnow entre dans la ronde. RPX est un service Saas qui permet de s'authentifier au travers des multiples systèmes précédemment cités. Il s'intercale entre votre site et le(s) fournisseur(s) d'authentification. Un résumé par le schéma ci-après (disponible sur Facebook). RPX a plusieurs gammes : 1 gratuite et une payante, avec une approche tout en un : interface de sélection, API avec du code C#, RoR, PHP, ... à l'appui, ...
J'adore déjà ce type de service qui a un grand avenir devant lui d'après moi.
Deux exemples : un script PHP ou avec un widget, hébergés sur le serveur de votre serviteur. RPX renvoie un token d'identification ainsi qu'un lot d'informations du connecté (au format JSON par exemple), que l'on pourra lire grâce à l'API. Pour Facebook, Windows Live ID (via Azure Live Services), MySpace, il faudra obtenir les clés d'application pour chacun d'eux, ceci ayant été effectué pour les besoins de la démo. C'est pas beau honnêtement ?
Quelques sites intègrent déjà RPX : le site Interscope, ou encore Uservoice. Ce dernier, permet de façon démocratique (votes), d'obtenir des demandes d'évolutions sur un service, demandes qui seront soumises aux votes de chacun.
On trouvera sur ce billet de Fred Cavazza, un résumé de la problématique des enjeux liés à l'authentification.