我正在使用 Identity 和 Sustainsys.Saml2(用于 SAML 身份验证)开发 ASP.NET Core 2 应用程序。我已经在 Startup.cs 文件中进行了必要的配置。现在,当我运行项目并尝试使用 SAML2 登录(作为外部登录)时,输入凭据后出现以下错误:
SecurityTokenInvalidAudienceException:IDX10214:观众验证失败。观众:“[PII 被隐藏]”。不匹配:validationParameters.ValidAudience: '[PII is hidden]' 或 validationParameters.ValidAudiences: '[PII is hidden]'。Microsoft.IdentityModel.Tokens.Validators.ValidateAudience(IEnumerable 受众、SecurityToken securityToken、TokenValidationParameters 验证参数)Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ValidateConditions(Saml2SecurityToken samlToken、TokenValidationParameters 验证参数)Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler.ValidateToken(字符串令牌,TokenValidationParameters 验证参数,出 SecurityToken 已验证令牌)Sustainsys.Saml2.Saml2P.Saml2Response+d__60.MoveNext() System.Collections.Generic。
我不明白这是什么意思。我错过了什么吗?
这是我在启动文件中的内容
services.AddAuthentication()
.AddSaml2(options =>
{
var spOptions = new SPOptions
{
EntityId = new EntityId("https://localhost:44373/Saml2"),
ReturnUrl = new Uri("https://localhost:44373"),
MinIncomingSigningAlgorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
};
options.SPOptions = spOptions;
options.IdentityProviders.Add(new IdentityProvider(new EntityId("https://www.example.com/SSO/SAML/App"), options.SPOptions)
{
AllowUnsolicitedAuthnResponse = false,
MetadataLocation = "https://www.example.com/SSO/SAMLMetadata/App",
LoadMetadata = true,
});
});
提前致谢...