我应该将 JWT 令牌存储在 IndexedDB 中吗?
Posted
技术标签:
【中文标题】我应该将 JWT 令牌存储在 IndexedDB 中吗?【英文标题】:Should I store JWT tokens in IndexedDB? 【发布时间】:2020-10-03 05:03:48 【问题描述】:阅读一些文章后,我意识到使用 localStorage 和 sessionStorage 存储 JWT 令牌是一个坏主意,应该使用带有httpOnly
的 cookie。
当我今天阅读更多内容并了解一些关于 indexedDB 的信息时,我想知道 indexedDB 是否也是存储 JWT 令牌的安全选项?
【问题讨论】:
【参考方案1】:简短的回答是否定的,因为您非常确信使用 localStorage 和 sessionStorage 是一个坏主意。 IndexedDB 也容易受到类似于本地存储的跨站点脚本 (XSS) 攻击。
无论安全性如何 -
-
IndexedDB API 功能强大,但对于存储 jwt 令牌等简单用例来说可能看起来过于复杂(我什至会说“可怕”)。因为,即使对于这种实现,您也必须编写更多代码。 (更多代码,这意味着可能会有更多错误)。刚开始时请注意陡峭的学习曲线。
IndexDB 实际上并不是为此类用例设计的。它旨在处理大量结构化数据。对于基本的键值操作,IndexedDB 的性能会受到影响。
浏览器对 IndexedDB 的支持也不是很好。
【讨论】:
说得好,索引数据库主要用于在构建 pwa 时存储数据,因此如果客户端离线,您可以访问它以上是关于我应该将 JWT 令牌存储在 IndexedDB 中吗?的主要内容,如果未能解决你的问题,请参考以下文章