0

好的,我正在使用 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

4

1 回答 1

0

您必须从配置中手动读取值并在您的创建方法中分配它们。

您可以使用 FederatedAuthentication 或 IdentityConfiguration 从配置中读取。

于 2012-12-19T07:06:41.927 回答