如果我采用以下方法,我需要一些关于未来陷阱和问题的建议。
我正在使用JWT,当他/她更改密码时,我需要使用户的所有先前令牌过期。
我为每个用户制作一个唯一密钥的方法是连接我的密钥和用户密码(config.jwtSecretKey + user.password
)以生成动态密钥。
一旦用户更改了他/她的密码,密钥就会改变,因此所有以前的密钥都将无效。
一切正常但是为了验证每个令牌,我需要一个DB调用来获取密码。
请建议我如何改进这一点或以何种方式做同样的事情。
答案 0 :(得分:2)
你的方法非常好,因为它适用于KISSy
通过使用动态密钥的一些内存缓存,可以减少数据库查询。
此外,您可以将动态密钥从password hash
更改为some random hash
以减少冲突。它将减少许多安全威胁。