Маркер 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.