有没有一种方法可以在C#中向TokenValidationParameters添加自定义验证参数?

时间:2018-12-23 15:29:15

标签: c# asp.net-core .net-core jwt

我正在设置一个新的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
    };

0 个答案:

没有答案