2012-06-02 3 views
1

Приветствую вас, дорогие авторы!Как подключить клиент Silverlight от браузера ACS - Azure - WIF - Entity-framework (общедоступная и частная модель DB)

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

http://msdn.microsoft.com/en-us/WAZPlatformTrainingCourse_ACSAndWindowsPhone7

до А в браузере приложении Silverlight вместо Windows Phone? Я хотел бы сохранить текущую модель, с государственными и частными базами данных и идеально подключить SilverLight приложения в лазурные социальные игры пакет:

https://github.com/WindowsAzure-Toolkits/wa-toolkit-games

который использует аналогичную картину ACS, направления мне нужно расцениваю обработка клиента Oauth2.

Заранее благодарим за помощь в этом вопросе.

ответ

2

Если это приложение для браузера Silverlight, почему бы вам не рассматривать его как обычный веб-сайт? Поток будет что-то вроде

  1. пользователя просматривать ваше приложение
  2. Перед тем, как отправить XAP, ваш сайт показывает список провайдеров удостоверений. Пользователь выбирает один и перенаправляется на вход.
  3. Пользователь регистрируется, и вы получите токен, отправленный в ваше приложение (это набор социальных игр). Хорошей новостью является то, что Social Gaming Toolkit уже обеспечивает интеграцию с ACS на веб-сайте, поэтому работы не так много. Пользователь получит cookie, сгенерированный Windows Identity Foundation, с претензиями внутри (на данный момент не используется Silverlight).
  4. Теперь вы отправляете приложение XAP и приложение Silverlight загружается
  5. Отныне каждый запрос, сделанный от XAP к вашему приложению (который будет иметь набор инструментов для социальных игр), будет зависеть от принципала, потому что файл cookie WIF отправлен в каждый запрос.

Если вы хотите немного изменить пользовательский интерфейс и вместо того, чтобы показывать список поставщиков идентификаторов на обычной странице HTML/asp.net, вы хотите сделать это из приложения Silverlight (например, в лаборатории Windows Phone). Тогда вам нужно будет использовать конечную точку ACS JSON, которая перечисляет ваши поставщики удостоверений из вашего приложения Silverlight.

Инструментарий уже делает это, и вы можете извлечь основные идеи:

https://github.com/WindowsAzure-Toolkits/wa-toolkit-games/blob/master/code/SocialGames.Web/Services/AuthService.cs#L29

Просьба, чтобы получить список провайдеров удостоверений в формате JSON выглядит следующим образом:

https://your_servicenamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?protocol=wsfederation&realm=your_application_realm&version=1.0&context=some_contextual_data_youwanttokeepacrossredirects "

И, наконец, эта лаборатория также должна помочь вам

http://msdn.microsoft.com/en-us/IdentityTrainingCourse_SilverligthAndIdentity2010

FWIW, как работает Windows Phone, используется конечная точка уведомления JavaScript в ACS, которая отличается от описанной выше.

Поток нечто вроде

  1. Телефон показывает параметры входа (Facebook, LiveID и т.д.)
  2. пользователь нажимает на одну из них
  3. Пользователь перенаправляется на ACS, а затем перенаправляется на выбранный поставщик идентификационных данных
  4. Пользователь регистрируется и некий токен отправляется обратно в ACS (в зависимости от поставщика удостоверений)
  5. На данный момент ACS отобразит HTML-страницу с небольшим количеством JavaScript. Это даст указание браузеру (который размещен на вашем телефоне Windows) отправлять внешний сигнал с полезной нагрузкой (в этом случае токен). window.external.Notify('THE_TOKEN');
  6. телефон приложение обнаружит уведомление и захватывает маркер

Я не знаю, как JavaScript уведомит механизм будет работать на Silverlight приложения в браузере, потому что вы уже в браузере. Но если вы попробуете это, держите нас в курсе.

Matias

+0

Благодарим за ваше терпение! –

+0

Наверное, я не против, если ACS является внешним, как в социальном игровом пакете или внутреннем для silverlight. Единственное, что мне нужно знать, - это как получить CRUD-функции от silverlight, используя аналогичную модель, чем использовать учебник по телефону Windows. Я * думаю * Я почти понимаю логику, которую вы объясняете, но можете ли вы подробно остановиться на извлечении основных идей из authservice? Все, что я хочу, это сделать социальную игру, которая будет иметь частные и публичные базы данных, которые защищены ACS. Какой проект Silverlight мне нужен, чтобы начать? какие ссылки следует использовать? –