【问题标题】:JWT Issuer Invalid Asp.Net CoreJWT 发行者无效的 Asp.Net Core
【发布时间】:2020-06-27 18:22:44
【问题描述】:

我的 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
               );

并在我的 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
                    };
                });

那么为什么会出现这个错误:

Bearer error="invalid_token", error_description="发行者'LoggerApp'无效"

注意:_config 和 Configuration 是同一个依赖

【问题讨论】:

    标签: asp.net-core jwt


    【解决方案1】:

    您应该设置TokenValidationParametersValidIssuer 属性以确保颁发者验证有效:

    ValidateIssuer = true,
    ValidIssuer = Configuration["JWT:Issuer"],
    

    【讨论】:

    • 是的,我在发布后不久就发现了这一点,但忘了更新我的问题,谢谢。
    猜你喜欢
    • 2019-03-15
    • 1970-01-01
    • 1970-01-01
    • 2019-10-30
    • 2019-06-08
    • 2022-07-08
    • 1970-01-01
    • 2018-03-13
    • 2018-06-23
    相关资源
    最近更新 更多