我正在设置一个新的Jwt令牌授权系统(对于身份验证,我使用Windows身份验证)。 我想知道是否有一种方法可以添加自定义的 TokenValidationParameters ,以验证我从令牌中获得的令牌的标记(又称令牌,如果令牌未过期)。 db。
在令牌本身中,我存储了有关用户的一些基本数据和一个唯一的标记。 每次用户向服务器发送请求时,我都要验证令牌的标记是否与数据库中的标记匹配(表示令牌是最新的)。
我想指出的是,我不想添加自定义声明或策略并在控制器上检查该策略,因为我想将此行为添加到已发送到服务器的每个请求中,并在之前发送401已检查所请求控制器的授权属性
// Get the latest user stamp from the db
var stamp = db.users(u => u.id = id).FirstOrDefault()?.Stamp;
var parameters = new TokenValidationParameters
{
ValidateIssuerSigningKey = true,
ValidIssuer = "mydomain,com",
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(secret)),
// is that possible?
// validatestamp = true,
// validStamp = stamp
};