我正在研究存储刷新令牌的一段时间,但是我对发现的信息不满意。我想知道您如何存储刷新令牌?
有些人用来将它们存储在数据库中,或者像Redis这样的缓存中,但是我认为由于JWT的性质,它应该是无状态的。但是我找不到其他解决方案,我不想将其存储在设备存储中,因为它可能会导致严重的安全性泄漏。你能分享你的想法吗?
谢谢您的回答
我想这取决于您要完成的工作或创建令牌的创建方式。我发现database
是存储refresh tokens
的好地方。为什么?因为令牌更像是一个密码,并且在数据库中存储时,将其与用户保持关系更容易。另外,用户使用的设备都可以始终从数据库访问令牌。对于其他方法,您可以在清除缓存或cookie时很容易就会松散令牌。如果将它们存储到设备上,用户可能会切换设备。但是,您可以存储从刷新令牌创建的expiring token
到设备/localstorage,cookie或其他地方。仅在创建新的到期令牌时,仅在数据库中以刷新令牌。