[英]JWT Issuer Invalid Asp.Net Core
My JWT isn't being validated because the issuer claim is failing and I don't know why Creating the token looks like this:我的 JWT 没有得到验证,因为颁发者声明失败了,我不知道为什么创建令牌看起来像这样:
var key = Encoding.UTF8.GetBytes(_config["JWT:Secret"]);
var signingCredentials = new SigningCredentials(
new SymmetricSecurityKey(key),
SecurityAlgorithms.HmacSha256Signature);
var token = new JwtSecurityToken(
issuer: _config["JWT:Issuer"],
claims: claims,
notBefore: DateTime.Now,
expires: DateTime.Now.AddMinutes(20),
signingCredentials: signingCredentials
);
and in my Startup.cs file I validate the token as such:在我的 Startup.cs 文件中,我验证令牌如下:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(JwtBearerDefaults.AuthenticationScheme, options =>
{
options.IncludeErrorDetails = true;
options.RequireHttpsMetadata = false;
options.ClaimsIssuer = Configuration["JWT:Issuer"];
options.TokenValidationParameters = new TokenValidationParameters()
{
ValidateIssuerSigningKey = true,
IssuerSigningKey = new SymmetricSecurityKey(
Encoding.UTF8.GetBytes(Configuration["JWT:Secret"])),
// works when set to false
ValidateIssuer = true,
ValidateAudience = false,
ValidateLifetime = true
};
});
So then why am I getting this error:那么为什么我会收到此错误:
Bearer error="invalid_token", error_description="The issuer 'LoggerApp' is invalid"
Bearer error="invalid_token", error_description="颁发者'LoggerApp'无效"
note: _config and Configuration are the same dependency注意:_config 和 Configuration 是相同的依赖
You should set ValidIssuer
property of TokenValidationParameters
to make sure issuer validation works :你应该设置
ValidIssuer
财产TokenValidationParameters
以确保发行人确认工作:
ValidateIssuer = true,
ValidIssuer = Configuration["JWT:Issuer"],
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.