JWT 应该存储在哪里?

222 阅读1分钟

国内大部分人的做法是存在 cookie 中,或者存在 localStorage 中。

但是,我并不推荐,为什么?

  1. 存储在 cookie 中,加上 httpOnly 之后能防止 XSS, 但是对 CSRF 没有抵抗力。
  2. 存储在 localStorage 中,能够避免 CSRF ,但是没办法防止 XSS(别扯什么,连防止XSS都不懂就别做网站啥的,就你懂)。

www.yuhanliu.com/archives/wh…

我推荐什么?

去国外网站溜达了一圈,比较推荐的做法是各大厂的做法,例如AWS 的 ID Token + Access Token + Refresh Token

具体存储在哪里呢?

将 Access Token 存储在内存中 ,然后把 Refresh Token 存储在 httpOnly 类型的 Cookie 中。

这么做,你来说说怎么样?评论区留言讨论哈。