我正在为 WebApiSecurity 使用 Thinktecture.IdentityModel 4.0 示例。我已修改 AdfsSamlClient 以使用我们的 ADFS 服务器。我可以使用从 ADFS 服务器获取 SAML 令牌
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. 说明 OnEndRequest 被重定向到 IdentityProvider '/WebHost/api/identity' 2. 说明 CreateSignInRequest BaseUri https://[ADFS...]/adfs/ls/ wa wsignin1.0 wtrealm https://[WorkStation...]/WebHost/ wctx rm=0&id=passive&ru=%2fWebHost%2fapi%2fidentity 3. 重定向到 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'
感谢您的任何见解。