Мне нужно запросить службу WS Trust 1.4 с помощью .NET, чтобы включить сценарий аутентификации SAML 2.0.
РЕДАКТИРОВАТЬ: Чтобы быть более точным, мне нужно поддерживать вызов взаимодействия с пользователем на стороне клиента, который определен в WS Trust 1.4.
Я изучил WIF, который обеспечивает прямой доступ к WS Trust через WSTrustChannelFactory (см. trustChannelFactory.TrustVersion в фрагменте кода...), но кажется, что есть поддержка только для WS-Trust 1.3 и Feb2005?
WSTrustChannelFactory trustChannelFactory = new WSTrustChannelFactory(getBinding(), "http:/localhost...");
trustChannelFactory.TrustVersion = TrustVersion.WSTrust13;
WSTrustChannel channel = (WSTrustChannel)trustChannelFactory.CreateChannel();
RequestSecurityToken rst = new RequestSecurityToken();
RequestSecurityTokenResponse rstr = null;
SecurityToken token = channel.Issue(rst, out rstr);
Кто-нибудь знает, как реализовать такой прямой запрос WS-Trust с использованием .NET?
Я не могу использовать привязку WSHttpFederation, поскольку нам нужно работать с SAML 2.0 и получать запросы аутентификации SAMl 2.0 с сервера приложений, прежде чем передавать их IdP.
Конечно, я мог бы развернуть свой собственный WS-Trust 1.4 на стороне клиента. реализация, но, возможно, есть более простой способ...
TrustVersion
? Возможно, пространство имен WSTrust использует WS Trust 1.4 по умолчанию, и вам нужно только установитьTrustVersion
для 1.3 или 2005. К сожалению, я не смог найти это задокументировано в MSDN, но я видел, что пространство имен имеет константы для WS Trust. 1.4. По крайней мере, стоит попробовать. - person Sixto Saez   schedule 22.05.2012