Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 在TokenValidationParameters中,我可以在哪里指定JWT令牌中的算法应该与HS256匹配?_Security_Asp.net Core_.net Core_Jwt - Fatal编程技术网

Security 在TokenValidationParameters中,我可以在哪里指定JWT令牌中的算法应该与HS256匹配?

Security 在TokenValidationParameters中,我可以在哪里指定JWT令牌中的算法应该与HS256匹配?,security,asp.net-core,.net-core,jwt,Security,Asp.net Core,.net Core,Jwt,我正在使用AspNet核心构建一个web api和JWT令牌来验证用户 我在哪里可以在TokenValidationParameters中指定令牌中的alg应该匹配HS256(并且从不none) 库是否默认拒绝alg设置为none的传入令牌?根据默认中间件不允许“alg”:“none”。似乎这是由于在报告中提到的漏洞 services .AddAuthentication(options => { options.Defaul

我正在使用AspNet核心构建一个web api和JWT令牌来验证用户

我在哪里可以在
TokenValidationParameters
中指定令牌中的
alg
应该匹配HS256(并且从不
none

库是否默认拒绝
alg
设置为
none
的传入令牌?

根据默认中间件不允许
“alg”:“none”
。似乎这是由于在报告中提到的漏洞

    services
        .AddAuthentication(options =>
        {
            options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
            options.DefaultScheme = JwtBearerDefaults.AuthenticationScheme;
            options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
        })
        .AddJwtBearer(cfg =>
        {
            cfg.RequireHttpsMetadata = false;
            cfg.SaveToken = true;
            string jwtIssuer = configuration["JwtIssuer"];
            SymmetricSecurityKey securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(configuration["JwtKey"]));
            cfg.TokenValidationParameters = new TokenValidationParameters
            {
                ValidIssuer = jwtIssuer,
                ValidAudience = jwtIssuer,
                ValidateIssuerSigningKey = true,
                IssuerSigningKey = securityKey,
                ClockSkew = TimeSpan.Zero
            };
        });
关于拒绝:我尝试使用
“alg”传递令牌:“无”
,并在响应中获得
无效的\u令牌(
Microsoft.AspNetCore.Authentication.JwtBearer 2.1.0


顺便说一下,
HS256
无算法的规范实现。

这方面运气好吗?