Я использую образцы Thinktecture.IdentityModel 4.0 для WebApiSecurity. Я использовал AdfsSamlClient для использования нашего ADFS-сервера. Я в состоянии получить маркер SAML из другого ADFS сервера с помощьюThinktecture.Identity SAML token несанкционирован
var channel = factory.CreateChannel();
var token = channel.Issue(rst) as GenericXmlSecurityToken;
Тогда я пытаюсь сделать вызов службы
var client = new HttpClient { BaseAddress = _baseAddress };
client.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("AdfsSaml", saml);
var response = client.GetAsync("identity").Result;
И получите 401 - Не Авторизованный вызов.
Я не уверен, как отладить это. У меня есть трассировка для Microsoft.IdentityModel, но это только трасса информационного уровня, никаких ошибок или предупреждений, и я ничего не могу использовать для отладки.
Интересная часть трассы услуг:
1. Description OnEndRequest is redirection to IdentityProvider '/WebHost/api/identity' 2. Description CreateSignInRequest BaseUri https://[ADFS...]/adfs/ls/ wa wsignin1.0 wtrealm https://[WorkStation...]/WebHost/ wctx rm=0&id=passive&ru=%2fWebHost%2fapi%2fidentity 3. Description Redirecting to IdentityProvider: 'https://[ADFS...]/adfs/ls/?wa=wsignin1.0&wtrealm=https%3a%2f%2f[WorkStation...]%2fWebHost%2f&wctx=rm%3d0%26id%3dpassive%26ru%3d%252fWebHost%252fapi%252fidentity&wct=2013-09-30T17%3a35%3a04Z'
Спасибо за любую проницательность.