我是.NET的新手。我正在使用ASP.NET Core 2.1。我正在使用JWT进行身份验证。 作为jwt验证的一部分,我叫出发行人并获取他们的公钥来检查我的令牌完整性。所以我这样做:
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer(o =>
{
o.Authority = Configuration["Jwt:Authority"];
o.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidateAudience = true,
ValidateIssuerSigningKey = true,
ValidIssuer = Configuration["Jwt:Issuer"],
ValidAudience = Configuration["Jwt:Audience"],
NameClaimType = ClaimTypes.NameIdentifier,
};
});
这符合我的预期,但是对于每个请求似乎都发送到了发行服务器。我想要的是缓存 jwk我回来了,只有在验证失败的情况下才尝试访问权限(例如,这可能是由于密钥旋转引起的)。 奇怪的是,我没有看到在配置中定义缓存策略的明显方法。我觉得这很漂亮 标准用例,我可能会遗漏一些东西,但是我在查看文档时没有任何运气。有人可以建议 在这里对我有用吗?我是否必须滚动自己的IConfigurationManager来强制执行此操作?任何意见,将不胜感激。谢谢 很多!