【问题标题】:Where should I save client's JWT for future requests?我应该在哪里保存客户端的 JWT 以供将来请求?
【发布时间】:2019-08-22 19:18:03
【问题描述】:

我的 api 在登录时向客户端返回一个令牌,这反过来又要求客户端每次都将其放入标头中以向服务器发出请求。 我应该在哪里保存这些令牌? 如果保存在浏览器存储中,那么任何人都可以复制并登录到客户的帐户

【问题讨论】:

    标签: node.js security jwt token bearer-token


    【解决方案1】:

    你是对的。将其存储在本地存储中是不安全的。

    JWT 需要存储在 HttpOnly cookie 中,这是一种特殊类型的 cookie,仅在 HTTP 请求中发送到服务器,并且永远无法从浏览器中运行的 JavaScript 访问(读取或写入)。

    您可以在这篇关于 JWT 最佳实践的文章中阅读更多相关信息。 https://logrocket.com/blog/jwt-authentication-best-practices/

    【讨论】:

    • 但是javascript无法读取其他来源的localStorage,可以吗?那么,除了XSS,让JS读/写token应该是安全的吧?
    • 说“保存 XSS”就像说“除非你的身份被黑客入侵”。 XSS 是一个严重的问题,因此使用仅 HTTP cookie 是一种更好的做法。
    • @drdwilcox:是的,再想一想,我倾向于同意。
    猜你喜欢
    • 1970-01-01
    • 2021-11-16
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 2020-02-02
    • 2015-09-01
    • 2016-04-03
    • 1970-01-01
    相关资源
    最近更新 更多