Веб-служба WCF и служба данных с использованием SAML - PullRequest
0 голосов
/ 15 июля 2010

У меня есть приложения WinForms и ASP.Net, которым необходим доступ к веб-службам WCF и службам данных с использованием токена SAML.

Я изучал Windows Identity Foundation (WIF), чтобы служба WCF могла использоватьЖетоны SAML от STS-IP.

На клиенте я могу позвонить в STS и получить токен SAML, а затем передать токен службе WCF?если так, как я могу получить токен, а затем передать его в WCF?

или

Передает ли клиент учетные данные (имя пользователя / пароль) пользователя веб-службе WCF, которая получаетмаркер SAML и делает ли он свое дело?

Насколько я понимаю, WCF Data Services использует REST.Так как же SAML работает с REST?

1 Ответ

1 голос
/ 25 июля 2010

Маркер SAML можно получить через WS-Trust в сценарии активного клиента (WinForms). WS-Trust описывает некоторые службы, которые STS предлагает для получения токена (Request for Security Token, RST). Маркер подписывается для проверяющей стороны (служба WCF) и может быть передан ему через заголовок WS-Securtiy. Конечно, некоторые учетные данные должны быть переданы в STS, чтобы получить действительный токен из первых рук.

В пассивном сценарии (ASP.Net) все немного по-другому. Чаще всего веб-приложение обрабатывает свою аутентификацию пользователя с помощью STS. Таким образом, у пользователя есть действительный связанный токен SAML. WS-Trust используется для получения токена, действительного для проверяющей стороны. Затем та же процедура, что и выше.

Проверяющая сторона (служба WCF) обрабатывает запрос только с действительным токеном SAML. Он никогда не получает токен для пользователя. После передачи имени пользователя / пароля и обработки аутентификации есть именно то, что вы хотите избежать с идентификацией на основе утверждений; -)

Полагаю, вы посмотрите "Руководство по идентификации и управлению доступом на основе утверждений от MS. Конечно, WS-Trust / WS-Security используются с веб-службами SOAP.

...