【问题标题】:vue jwt token storagevue jwt 令牌存储
【发布时间】:2019-05-06 23:21:35
【问题描述】:

我正在关注 udemy 上的 vue 课程,并查看了几个在线资源,它们似乎都有一个过程,我将用户名和密码发送到我的 api 并返回我的 jwt 访问令牌。然后令牌以状态存储(使用 vuex)并支持页面刷新(并保持用户登录),它还将 jwt 令牌保存到本地存储。

由于我不使用 cookie,我的理解是我不必担心 csrf。

OWASP 建议不要将令牌存储在本地存储中(我认为主要是由于存在 xss 漏洞)。 authO 网站 (https://auth0.com/docs/security/store-tokens) 说我应该存储在内存中(例如,就像我使用 vuex 一样)。

我怎样才能遵循不使用本地存储的建议,并确保如果用户刷新页面,他们仍然登录(没有 cookie)或者这将是不可能的。

【问题讨论】:

  • AWS Cognito 的 Amplify 库不是也将 JWT 令牌存储在 localStorage 中吗?我认为确实如此。 Cognito 是经过 PCI-DSS 认证的解决方案。所以我认为将 localStorage 用于 JWT 令牌没有问题。

标签: security vue.js jwt


【解决方案1】:

首先,我不是安全专家。如果您的公司有一名安全人员或其他人员,您可能也想在那里讨论此事。

OWASP 声明您不应将敏感信息存储在 localStorage(或 WebSQL/IndexDb)中。但我认为你应该平衡你的选择。如果用户因为某些非常敏感的信息而每次都需要登录是可以的,那么您可能会使用 sessionStorage 或将令牌保存在内存中。否则,只需使用 localStorage。例如:按 F12 并查看 SO 正在使用什么:LocalStorage。

Security StackExchange 也有一个很好的答案

【讨论】:

    猜你喜欢
    • 2019-02-01
    • 2018-12-07
    • 1970-01-01
    • 2018-04-01
    • 2021-12-27
    • 2021-09-10
    • 2020-07-24
    • 2016-03-15
    • 2020-03-23
    相关资源
    最近更新 更多