AuthenticationToken является нулевым - PullRequest
3 голосов
/ 05 марта 2012

В настоящее время я пишу приложение C # metro для предварительного просмотра Windows 8, которое извлекает некоторые данные из моих веб-служб на основе REST. Я хочу, чтобы приложение проходило проверку подлинности в службах с использованием учетной записи Windows Live текущего пользователя. Поэтому я добавил Windows Live SDK в свое решение и вставил следующий фрагмент из документации в окно входа в систему:

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

После успешного входа в систему я хочу передать зашифрованную AuthenticationToken LiveConnectSession через SSL моему веб-сервису, который должен расшифровать токен и прочитать информацию, которая его интересует (это то, что документация предлагает для такого сценарий единого входа). Но, к сожалению, свойство AuthenticationToken сессии всегда null. Я что-то здесь упускаю?

Ответы [ 2 ]

5 голосов
/ 12 августа 2012

Я столкнулся с той же проблемой и понял, что у меня есть две проблемы с моей конфигурацией:

  1. У меня не было «домена перенаправления», определенного в настройках API https://manage.dev.live.com
  2. Я не использовал перегруженный конструктор LiveAuthClient

Например, в настройках API вы указываете:

Домен перенаправления: http://localhost/myapp

Затем вы используете перегрузку конструктора 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;

Из того, что я могу сказать, URI перенаправления не обязательно должен указывать на рабочую конечную точку, при условии, что эти два значения совпадают, что вы должны быть в бизнесе.

1 голос
/ 12 марта 2012

Зарегистрировали ли вы свое приложение на сайте управления приложениями Live Connect для приложений в стиле Metro?Вам необходимо зарегистрировать здесь , чтобы он работал с Live Services.Он даст вам следующие инструкции после того, как вы дадите пакету приложения имя и издателя.

...