23877462 23877462
Connectez-vous avec votre compte Windows Live RSS Favoris

Détail du billet

Authentification Web avec Windows Live ID

04 SEP 08 19:26 | Rubriques : Informatique | Billet public

Pourquoi faire ?

L'idée est simple. Aujourd'hui, pratiquement tous les sites proposent un espace membre. C'est génial mais au bout d'un certain temps on se retrouve avec des dizaines de mots de passe pour accéder à autant de sites...
L'intérêt de l'authentification unique devient alors évidente afin de simplifier la vie des internautes !
J'ai implémenté ce principe sur mon site. D'ailleurs, n'hésitez pas à tester et me prévenir en cas de bug ! 
A noter que Google propose la même chose avec ses comptes Gmail...

Comment ça marche ?

Le fonctionnement est très simple, pas de web service mais un simple échange crypté entre les serveurs de Microsoft et le votre par le biais du navigateur du client.

  1. Un internaute demande une page de votre site. C'est sa première visite et il ne s'est jamais authentifié avec son Windows Live ID.
     
  2. Le site web propose un lien de connexion vers le site de Microsoft Live ID. 
     
  3. L'internaute clique ce lien.
     
  4. Le site de Microsoft propose la page de login de Windows Live ID.
     
  5. L'internaute s'identifie. Sur la page de login, l'utilisateur renseigne ses login/mot de passe Windows Live
     
  6. Windows Live ID authentifie l'utilisateur. Le server d'authentification Microsoft vérifie le compte.
     
  7. Le site Windows Live ID redirige. Si les informations de connexion saisie par l'internaute sont correctes, le site Windows Live ID le redirige alors vers votre site avec un token l'identifiant de manière unique.
     
  8. A votre site de jouer ! Vous savez maintenant que cet internaute possède bien un identifiant Live ID et vous connaissez le token permettant de l'identifier de manière unique.

Mise en place

Il faut tout d'abord déclarer son site (ou application) sur le site de Microsoft ici : https://msm.live.com/app/registration.aspx 
Il vous faudra fournir le nom du site, l'url de retour après authentification, le mot de passe, la méthode de cryptage...
Ensuite un id d'application vous est fourni et vous permet de mettre en place la mécanique.
Il suffit ensuite de renseigner un fichier de configuration avec ses infos (et bien le protéger sur votre site, comme avec .htaccess dans mon cas)

<windowslivelogin>
<appid>000000004546487845</appid>
<secret>VotreMotDePasse</secret>
<securityalgorithm>wsignin1.0</securityalgorithm>
</windowslivelogin>

La documentation complète du SDK, ainsi que des exemples dans les langages les plus courants (ASP.NET, PHP, CGI...) se trouve ici : http://msdn.microsoft.com/en-us/library/bb676633.aspx (anglais)

Les exemples sont bien parlants mais ne traitent pas du tout l'intégration à votre site ou application...

Remarque

L'authentification ne vous répondra en aucun cas des informations sur l'utilisateur (comme le nom, l'email...). La seule chose retournée est le token qui identifie de manière unique le couple utilisateur/application.
IL vous faudra donc gérer dans votre site ou application les informations de l'utilisateur dans une table SQL par exemple. Une colonne de cette table sera le token du user.
Après authentification sur le site Windows Live, vous requetez sur le token, récuperez les infos du user et ouvrez une session sur votre site.
Et ça roule...
 

Calendrier

Rubriques

Archives