如何存储刷新令牌?

时间:2019-03-11 23:11:06

标签: javascript node.js jwt access-token refresh-token

我正在研究有关存储刷新令牌的时间,但是我对发现的信息不满意。我想知道您如何存储刷新令牌?

有些人过去将它们存储在数据库中,或像Redis这样进行缓存,但是我认为由于JWT的性质,它应该是无状态的。但是我找不到其他解决方案,我不想将其存储在设备存储中,因为这可能会导致严重的安全漏洞。您能分享您的想法吗?

谢谢您的回答

1 个答案:

答案 0 :(得分:1)

我想这取决于您要完成的工作或创建令牌的方式。我发现database是存储refresh tokens的好地方。为什么?因为令牌更像是密码,并且存储在数据库中时更容易保持与用户的关系。同样,用户使用什么设备也没关系,您始终可以从数据库中访问令牌。对于其他方法,您可以在清除缓存或cookie时轻松地释放令牌。如果将它们存储到设备,则用户可以切换设备。但是,您可以将根据刷新令牌创建的expiring token存储到设备/本地存储,cookie或其他位置。创建新的过期令牌时,请仅在数据库中单击以获取刷新令牌。