web.config将saml安全令牌转换为声明主体

时间:2014-01-09 10:24:30

标签: token identity saml claims

我有问题验证安全令牌,我试图使用你的代码和其他,但当它尝试验证ST我有thi错误: ID4175:IssuerNameRegistry无法识别安全令牌的颁发者。要接受来自此颁发者的安全令牌,请配置IssuerNameRegistry以返回此颁发者的有效名称

我不知道热配给网络配置,你能帮帮我吗?

这是代码:

// Microsoft.IdentityModel.Configuration.ServiceConfiguration serviceConfig     = new Microsoft.IdentityModel.Configuration.ServiceConfiguration();

        // Now read the token and convert it to an IPrincipal
        System.IdentityModel.Tokens.SecurityToken theToken = null;
        ClaimsIdentityCollection claimsIdentity = null;
        using (XmlReader reader2 = XmlReader.Create(new StringReader(samlTokenXml)))
        {
            theToken = serviceConfig.SecurityTokenHandlers.ReadToken(reader2);
            claimsIdentity = serviceConfig.SecurityTokenHandlers.ValidateToken(theToken);
        }

        IPrincipal principal = new ClaimsPrincipal(claimsIdentity);

感谢的 佩普

1 个答案:

答案 0 :(得分:0)

WIF具有ConfigurationBasedIssuerNameRegistry类,您可以在其中将签名指纹映射到您选择的颁发者名称。

以编程方式新建该类并将其分配给ServiceConfiguration - 或者在web.config中执行此操作。

您需要知道发行人的指纹,但要成功验证令牌 - 询问向您发送令牌的人。