AuthenticationToken est null

J’écris actuellement une application de métro C # pour la prévisualisation du consommateur Windows 8, qui récupère des données de mes services Web basés sur REST. Je souhaite que l’application s’authentifie auprès des services à l’aide du compte Windows Live de l’utilisateur actuel. Par conséquent, j’ai ajouté le kit de développement Windows Live SDK à ma solution et ai collé le fragment de code suivant de la documentation dans ma vue de connexion:

LiveAuthClient liveClient = new LiveAuthClient(); LiveLoginResult loginResult = await liveClient.Login(new ssortingng[] { "wl.signin" }); 

Une fois la connexion LiveConnectSession , je souhaite transmettre le chiffrement AuthenticationToken de LiveConnectSession via SSL à mon service Web, qui doit déchiffrer le jeton et lire les informations qui l’intéressent (c’est ce que la documentation suggère pour un tel scénario SSO). Mais malheureusement, la propriété AuthenticationToken de la session est toujours null . Est-ce que j’ai râté quelque chose?

J’ai rencontré le même problème et me suis rendu compte que j’avais deux problèmes avec ma configuration:

  1. Je n’avais pas de “domaine de redirection” défini dans les parameters d’API de https://manage.dev.live.com
  2. Je n’utilisais pas le constructeur LiveAuthClient surchargé

Par exemple, dans les parameters de l’API, vous spécifiez:

Domaine de redirection: http://localhost/myapp

Vous utilisez ensuite la surcharge de constructeur de LiveAuthClient:

 var authClient = new LiveAuthClient("http://localhost/myapp"); var loginResult = await authClient.LoginAsync("wl-signin"); //this should no longer be null var authToken = loginResult.Session.AuthenticationToken; 

D’après ce que je peux dire, l’URI de redirection n’a pas besoin de pointer sur un noeud final opérationnel, tant que les deux valeurs correspondent, vous devez être en affaires.

Avez-vous enregistré votre application sur le site de gestion des applications Live Connect pour les applications de style Metro? Vous devez l’enregistrer ici pour qu’il fonctionne avec les services en direct. Il vous donnera les instructions suivantes après avoir atsortingbué un nom et un éditeur à l’application.