好的,我正在使用 Thinktecture IdentityModel 4.0 (tt.idm) 通过我的 WebAPI 接受传入的 SAML2 安全令牌并将它们转换为 ClaimsPrincipals。根据 tt.idm 附带的示例,我有一个按我期望的方式工作的项目。
唯一的问题是所有示例(以及我的项目)都使用硬编码的 SecurityTokenHandlerConfiguration 对象,我想在我的 WIF 配置中使用这些设置。
所以,我目前有一些看起来像这样的东西:
public static AuthenticationConfiguration Create()
{
var config = new AuthenticationConfiguration();
var idsrvRegistry = new ConfigurationBasedIssuerNameRegistry();
idsrvRegistry.AddTrustedIssuer("*THUMBPRINT REDACTED*", "*ISSUERNAME REDACTED*");
var idsrvConfig = new SecurityTokenHandlerConfiguration();
idsrvConfig.AudienceRestriction.AllowedAudienceUris.Add(new Uri("http://somerealm.com"));
idsrvConfig.IssuerNameRegistry = idsrvRegistry;
idsrvConfig.CertificateValidator = X509CertificateValidator.None;
config.AddSaml2(idsrvConfig, AuthenticationOptions.ForAuthorizationHeader("SSO_SAML"));
return config;
}
但是,我想从我的配置中加载这些值 - 无论是通过加载 microsoft.identityModel 配置部分自动加载,还是......任何有意义的。
但是,到目前为止,没有任何效果 - 例如,仅更新 ConfigurationBasedIssuerNameRegistry 会产生一个空的 IssuerNameRegistry。加载 microsoft.identityModel 配置部分会产生......一个基本上没有属性的配置部分。
有没有办法告诉 tt.idm 从当前配置加载?或者告诉 WIF 的方法?
我应该如何进行?oO