我有问题验证安全令牌,我试图使用你的代码和其他,但当它尝试验证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);
感谢的 佩普
答案 0 :(得分:0)
WIF具有ConfigurationBasedIssuerNameRegistry类,您可以在其中将签名指纹映射到您选择的颁发者名称。
以编程方式新建该类并将其分配给ServiceConfiguration - 或者在web.config中执行此操作。
您需要知道发行人的指纹,但要成功验证令牌 - 询问向您发送令牌的人。