【发布时间】:2019-10-20 06:02:55
【问题描述】:
ASP.NET Core 2.x 提供了一种使用 JWT 令牌添加承载身份验证的非常好的方法。以下代码是使事情正常运行的最低要求。
{
TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = true,
ValidIssuer = "https://issuer.com",
ValidateLifetime = true,
}
});
我了解 JWT header.payload.signature 的结构,但如果我们使用非对称算法,我们需要验证签名,为此我们需要从以下网址获取公钥:issuer + .well-known/jwks.json。
那么,中间件是否“神奇地”获取公钥并验证签名?另外,中间件是否缓存了公钥以避免在每次验证中获取公钥?
【问题讨论】:
-
你看过
TokenValidationParametersIssuerSigningKey property吗? -
好吧,我知道那个属性以及
IssuerSigningKeyResolver我的问题是关于公钥缓存的。
标签: c# asp.net-core jwt bearer-token