0

我在验证安全令牌时遇到问题,我也尝试使用您的代码和其他代码,但是当它尝试验证 ST 时出现错误:ID4175:IssuerNameRegistry 无法识别安全令牌的颁发者。要接受来自此颁发者的安全令牌,请将 IssuerNameRegistry 配置为返回此颁发者的有效名称

我不知道hot confire web config,你能帮我吗?

这是代码:

//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);

谢谢佩佩

4

1 回答 1

0

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

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

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

于 2014-01-09T12:19:40.183 回答