Как клиентское приложение WPF проходит проверку подлинности с помощью службы WCF в Azure? - PullRequest
7 голосов
/ 20 сентября 2011

В настоящее время я рассматриваю возможность создания приложения для развертывания в облаке Azure.Основной причиной рассмотрения Azure через Amazon является служба контроля доступа.Я хочу принять как можно больше разных типов учетных данных для моего приложения, особенно Facebook.

Некоторые пользователи будут использовать приложение на основе HTML, другие - клиентское приложение WPF.Вопрос в том, как аутентифицировать клиента с помощью любого поставщика, которого он хочет, а затем связываться со службой WCF.Я предполагаю, что мне нужно использовать компонент веб-браузера в моем приложении или открыть внешний браузер (в идеале, поддерживать оба варианта для параноидальных пользователей), но я не совсем понимаю, как затем использовать это соединение для службы WCF.

Ответы [ 3 ]

0 голосов
/ 21 сентября 2011

Я думаю, что вы собираетесь как-то аутентифицировать / авторизовать пользователей для этой службы WCF, верно?В этом случае вы можете посмотреть пример «Телефонного приложения Windows 7»: http://msdn.microsoft.com/en-us/library/gg983271.aspx. Здесь вы увидите, что в этом примере используется протокол «javascriptnotify».

Для управления WPF WebBrowser существует множество статей, в которых описывается, как получать уведомления из JavaScript в DOM.

Таким образом, вы можете получить токен для вашего приложения WPF, а затем вам нужно будет использовать тот же токен для аутентификации в службе WCF.

В случае веб-приложения вы можете получитьтокен из модуля WSFam.Одним из способов сделать это может быть регистрация события SecurityTokenReceived в WSFam.

Таким образом, для обоих сценариев вы можете получить токен SAML.

Затем вы можете создать свой собственный SAML TokenProvider дляWCF и используйте токен SAML, полученный от ACS, для связи с вашим сервером.

0 голосов
/ 03 марта 2014

То, что вы ищете, называется «активная федерация». См этот вопрос

Как правило, ваши веб-клиенты используют пассивную форму, в которой они перенаправляются на страницу входа, принадлежащую службе токенов безопасности. Вы не можете перенаправить приложение wpf или winforms, поэтому вашему приложению необходимо выполнить действия, которые ваш браузер делает за вас, включая согласование и кэширование токена безопасности, полученного от STS, и затем представление его при каждом запросе.

0 голосов
/ 20 сентября 2011

Попробуйте отделить аутентификацию пользователя от приложения от аутентификации между приложением и службой WCF.

Чтобы защитить доступ к службе WCF, вы можете использовать ACS для реализации аутентификации с использованием простого веб-токена (SWT). Есть несколько примеров этого, доступных через выбранную вами поисковую систему.

Извините, я не могу привести вам более конкретный пример. Я мобильно с i-устройством и, следовательно, имею ограниченный доступ к инструментам.

...