javascript - 如何存储刷新 token ?

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

我正在研究存储刷新 token 一段时间,但是我对找到的信息不满意。我想知道您如何存储刷新 token ?

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

谢谢您的回答

最佳答案

我想这取决于您想要完成的任务或 token 的创建方式。我发现数据库是存储刷新 token 的好地方。为什么?因为 token 更像是密码,并且存储在数据库中更容易保持其与用户的关系。此外,无论用户使用什么设备,您始终可以从数据库访问 token 。对于其他方法,当缓存或 cookie 被清除时,您很容易丢失 token 。如果将它们存储到设备,用户可能会切换设备。但是,您可以将从刷新 token 创建的过期 token 存储到设备/本地存储、cookie 或其他位置。仅在创建新的过期 token 时才访问数据库以获取刷新 token 。

关于javascript - 如何存储刷新 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55111733/

相关文章:

node.js - 如何在Vue中导入和使用P5.Sound?

node.js - 用于 Web 应用程序 JWT 的 Nodejs Express,带有数据库或 session 来对用户进行身份验证

javascript - 检测网络用户当前是否已登录 Google?

Javascript 函数不工作

node.js - 我可以改变 Recoil Atom Effect 中的其他状态吗

node.js - 基本身份验证和 JWT

python - PyJWT,需要 PEM 格式的 key

JavaScript:给一个函数和函数表达式同名可以吗?

JavaScript 无法在 IE 上运行

node.js - 将数组转换为 $project 中的字符串(聚合)