【发布时间】:2018-02-12 17:16:30
【问题描述】:
鉴于:
- IdentityServer v3
- 带有 aspcore 2.0 的客户端 WebApp
场景:
在使用带有 Identity Server v3 的 aspcore 1.1 时,我需要设置 LegacyAudienceValidation = true(请参阅 .net core Client doesn't authenticate with IdentityServer v3 - Offset in Audience(
现在我迁移到 .net core 2.0。并按照guide 迁移身份还有其他选项,并且在核心 1.0 中
问题:
所以不再有 LegacyAudienceValidation 属性,结果我得到了观众验证错误。
Microsoft.IdentityModel.Tokens.SecurityTokenInvalidAudienceException: IDX10208:无法验证受众。 validationParameters.ValidAudience 为 null 或空格,并且 validationParameters.ValidAudiences 为空。
我的客户端配置代码如下所示
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(options =>
{
options.Authority = Authority;
我是否遗漏了 aspcore api 的内容,或者是否有任何提示如何解决这个差距?
【问题讨论】:
-
将您的受众设置为您的 API 名称。 options.Audience = "API 名称"
标签: asp.net asp.net-core identityserver3 asp.net-core-2.0 asp.net-authentication