Authentification unique (SSO) via les API Live Connect

Il peut être utile pour les développeurs et pour les utilisateurs d’avoir un système d’authentification unique partagé par plusieurs applications ou sites Web.
Microsoft propose une API permettant aux utilisateurs de se connecter via leur compte Microsoft, ainsi les développeurs peuvent accéder à des informations provenant de SkyDrive, Hotmail et Windows Live Messenger.
Je vais vous montrer comment mettre en place l’authentification unique sur un site Web ASP.NET MVC 4.
Pour commencer, il faut télécharger et installer le SDK :
http://www.microsoft.com/en-us/download/details.aspx?id=35754
Ensuite vous aurez besoin d’enregistrer votre application chez Microsoft afin de récupérer un Client Id et un Client Secret :
· Connectez-vous sur le site http://msdn.microsoft.com/fr-fr/live/
· Allez dans l’onglet Mes Applications
· Sélectionner Créer une application
Maintenant que vous avez tous ce qu’il faut, on va pouvoir commencer à coder !
Dans cet exemple nous allons afficher le nom et le prénom de l’utilisateur qui se connectera sur notre site Web.
Commençons par créer un nouveau projet ASP.NET MVC 4, choisissez le type « Basic ».
Puis on référence la DLL (Microsoft.Live.Web) dans le projet.
Maintenant que nous avons référencé la DLL, nous allons ajouter une classe dans le répertoire Model appelée UserDataModel.cs qui représentera les informations de l’utilisateur que nous aurons récupéré de Microsoft.
Créons ensuite un Controller appelé HomeController qui se chargera de vérifier si l’utilisateur est connecté ou non et qui agira en conséquence : si l’utilisateur est connecté, alors nous affichons ses informations. Sinon nous lui proposons de se connecter via un lien généré par le SDK Live.
Pensez à remplacer les chaines « YOUR_CLIENT_ID » et « YOUR_SECRET_ID » par les valeurs récupérées sur le site http://msdn.microsoft.com/fr-fr/live/ .
Maintenant il me reste à créer 2 vues (LoggedIn et LoggedOut).
Code du fichier LoggedIn.cshtml :
Code du fichier LoggedOut.cshtml
C’est fait ! Résultat :
Clique sur login:
Je renseigne mes identifiants puis je valide:
On a pu voir dans un exemple très simple l’implémentation de l’authentification via le SDK Live de Microsoft.
Pour plus de renseignements sur le l’authentification Live, je vous conseille de regarder le vidéo de Shelly Guo. Les sources de ce billet sont disponibles sur GitHub: https://github.com/Cellenza/BLOG-AUTHLIVESOO.