【发布时间】:2017-03-29 11:12:35
【问题描述】:
我正在使用 Thinktecture.IdentityModel.Tokens 包在 ASP.NET 中实现 JWT 令牌。我想使用以下配置从我的令牌中删除字段 issuer:
new JwtBearerAuthenticationOptions
{
AuthenticationMode = AuthenticationMode.Active,
AllowedAudiences = new[] { audienceId },
IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[]
{
new SymmetricKeyIssuerSecurityTokenProvider(issuer, audienceSecret)
},
TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters() { ValidateIssuer = false }
}
然后我在没有发行者的情况下生成 JWT 令牌:
var token = new JwtSecurityToken(issuer:null, audience:audienceId, signingCredentials: signingKey);
但是,在添加 TokenValidationParameters 并删除 issuer 字段后,我收到错误 401 Unauthorized。如果我将颁发者保留在 JWT 中,则验证工作得非常好。
我可以从 JWT 中删除颁发者吗?如果不是,“ValidateIssuer”参数有什么作用?
【问题讨论】:
标签: c# asp.net jwt access-token