相关疑难解决方法(0)

使用多个JWT承载认证

是否有可能在ASP.NET Core 2中支持多个JWT令牌发行者?我想为外部服务提供API,我需要使用两个JWT令牌源 - Firebase和自定义JWT令牌发行者.在ASP.NET核心中,我可以为Bearer身份验证方案设置JWT身份验证,但仅限于一个权限:

  services
        .AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
        .AddJwtBearer(options =>
        {
            options.Authority = "https://securetoken.google.com/my-firebase-project"
            options.TokenValidationParameters = new TokenValidationParameters
                {
                    ValidateIssuer = true,
                    ValidIssuer = "my-firebase-project"
                    ValidateAudience = true,
                    ValidAudience = "my-firebase-project"
                    ValidateLifetime = true
                };
        }
Run Code Online (Sandbox Code Playgroud)

我可以有多个发行人和受众,但我不能设置多个权限.

jwt asp.net-core-mvc firebase-authentication asp.net-core-2.0

46
推荐指数
2
解决办法
1万
查看次数

.Net Core API JWT 令牌验证

在 .Net Core WEB API 中实现了 JWT Bearer Token 验证,如下所述:

 services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
                .AddJwtBearer(opt =>
                {
                    opt.Audience = Configuration["AAD:ResourceId"];
                    opt.Authority = $"{Configuration["AAD:Instance"]}{Configuration["AAD:TenantId"]}";
                });
Run Code Online (Sandbox Code Playgroud)

怀疑上面提到的代码只会验证受众和权威吗?或者它将验证所有参数,例如过期和签名等?

我们是否需要显式验证签名以检查有效负载是否被篡改?

c# jwt bearer-token .net-core

6
推荐指数
1
解决办法
2万
查看次数