Un identifiant unique pour plusieurs services 2.0
Mardi 29 mai 2007Le web2.0 c’est génial. Il y a quand même un petit défaut : à chaque fois que l’on veut utiliser un nouveau service, on doit créer un compte. Combien en avez-vous ? Le savez-vous seulement ? Oh, on prend vite l’habitude. Mais à force de remplir des formulaires de création, on fini par penser: “Mais pourquoi je dois dire qui je suis ? C’est moi !”. Il est vrai que ce serait tellement plus simple de posséder une sorte de carte d’identité, qui évite de répéter son nom, son mail, et surtout de donner son mot de passe.
Eh bien cela existe ! OpenID permet de s’identifier sur un site sans y avoir créé de compte et sans donner son mot de passe. C’est un passeport numérique virtuel, matérialisé par une URL (une adresse web). Une fois votre OpenID créée, vous n’avez plus qu’à retenir votre identifiant (le mien est http://guillaumebrialon.myopenid.com/) et le mot de passe associé. Un certificat SSL peut également être uploadé et sera exigé pour toute authentification.
OpenID étant en réalité un standard ouvert, il faut choisir tout d’abord un fournisseur de service, qui va conserver votre identité. Je connais MyOpenID et Ziki.
Que se passe t-il ensuite lorsque je veux accéder à un service sur le web ? Il faut tout d’abord que ce service offre la possibilité d’utiliser OpenID. Le plus connu est sans doute Technorati, mais il en existe des centaines d’autres, recensés sur The OpenID Directory. Sur tous ces sites “open”, qui proposent un accès standard (login + mot de passe), une alternative permet de saisir mon identifiant OpenID.
Si c’est ma première visite, je suis redirigé vers mon fournisseur OpenID. Si je suis sur mon ordinateur, il me reconnaît, grâce à un cookie, et me demande simplement si j’autorise le service en question à obtenir mon identité. Je suis alors directement connecté sur le service : je n’ai pas créé de compte en saisissant mon nom et je n’ai pas communiqué de mot de passe au service. Si je suis chez un ami, mon fournisseur me demande alors de saisir mon mot de passe (et éventuellement mon certificat SSL) afin de m’authentifier.
Lors de mes prochaines visites, je n’aurai qu’à saisir mon identifiant OpenID. En réalité, la redirection vers le fournisseur s’effectuera également, afin de vérifier que c’est bien moi qui suis connecté. Mais si je suis sur mon ordinateur je ne le verrai même pas. En effet, grâce au cookie je serai automatiquement identifié par mon fournisseur. Ce mécanisme de cookie existe quasiment chez tous les services 2.0. Il s’agit de la petite case “rester connecté” ou “remember me” en-dessous du login.
OpenID fait plus que le login : je peux choisir de donner au service auquel je veux accéder des informations personnelles me concernant (nom, date de naissance, pays, etc.). Cela évite la saisie rébarbative de formulaires.
Je ne peux que conseiller à tous les créateurs de services 2.0 d’intégrer OpenID sur leur site. Le web2.0 devient ainsi tellement plus accueillant. Des librairies de développement existent dans tous les environnements alors vous n’avez plus d’excuses. Il existe même des plugins OpenID pour Wordpress, comme celui de VerseLogic.

Tous les langages sont dotés de frameworks, le plus connu étant probablement Struts pour Java. Du moins, moi je le connais bien. J’ai découvert le langage 