我应该将 JWT 令牌存储在 IndexedDB 中吗?

Hug*_*Sum 11 cookies jwt

在阅读了一些文章后,我意识到使用 localStorage 和 sessionStorage 来存储 JWT 令牌是一个坏主意,httpOnly应该使用cookie代替。

当我阅读更多内容并了解有关 indexedDB 的一些知识时,我想知道 indexedDB 是否也是存储 JWT 令牌的安全选项?

Pan*_*war 4

简短的答案是否定的,因为您非常确信使用 localStorage 和 sessionStorage 是一个坏主意。IndexedDB 也容易受到类似于本地存储的跨站脚本(XSS)攻击。

不考虑安全性——

  1. IndexedDB API 功能强大,但对于存储 jwt 令牌等简单用例来说似乎太复杂(我什至可以说“可怕”)。因为,即使对于这种实现,您也必须编写更多代码。(更多的代码,这意味着可能有更多的错误)。当你开始使用它时,请注意陡峭的学习曲线。
  2. IndexDB 实际上并不是为此类用例而设计的。它旨在处理大量的结构化数据。对于基本的键值操作,IndexedDB 性能会受到影响。
  3. 浏览器对 IndexedDB 的支持也不是很好。