是否有可能在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
在 .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)
怀疑上面提到的代码只会验证受众和权威吗?或者它将验证所有参数,例如过期和签名等?
我们是否需要显式验证签名以检查有效负载是否被篡改?