2012-03-05 1 views
3

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

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

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

+0

Вы получили это разобрались? Если это так, вы можете написать ответ самостоятельно. –

+0

@Joachim Я не нашел решение этой проблемы. В настоящее время я использую простой подход к имени пользователя и паролю через HTTPS и позже добавит делегированную аутентификацию. – Gene

+0

Был ли ответ, который вы проверили, для вас? –

ответ

5

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

  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

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

+0

Приложение зарегистрировано правильно, но спасибо за этот намек. – Gene

 Смежные вопросы

  • Нет связанных вопросов^_^