The*_*hod 5 asp.net jwt asp.net-core
我对 .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,
};
});
Run Code Online (Sandbox Code Playgroud)
这符合我的预期,但它似乎会针对每个请求发送到发出服务器。我想要的是缓存我返回的 jwk,并且仅在验证失败时才尝试访问权限(例如,这可能是因为密钥轮换)。奇怪的是我没有看到在配置中定义缓存策略的明显方法。我觉得这是一个非常标准的用例,我可能会遗漏一些东西,但我没有运气浏览文档。有人可以在这里为我建议一种方法吗?我是否必须推出自己的 IConfigurationManager 才能强制执行此操作?任何意见,将不胜感激。非常感谢!
| 归档时间: |
|
| 查看次数: |
1396 次 |
| 最近记录: |