【问题标题】:Want to secure jwt in react based app想要在基于反应的应用程序中保护 jwt
【发布时间】:2018-12-12 13:49:14
【问题描述】:

我已经搜索并阅读了很多文章将JWT 存储在sessioncookie 中,但我无法知道将我的JWT 存储在我的react redux 中的正确位置或方式是什么应用

我将JWT 存储在会话存储中,但它很容易从开发人员工具中暴露出来。如果我尝试使用HTTPonly cookie 那么javascript 无法读取。所以我担心在哪里存储无法向用户公开的 JWT 令牌,或者应该采取哪些步骤或措施来确保应用程序安全,以便用户不知道 jwt 令牌

请提供建议

【问题讨论】:

  • And if i try with HTTPonly cookie then that cant be read by javascript. 为什么要用javascript访问cookie?
  • 可以是用户名或者其他的
  • 连接到您的身份验证服务器并获取用户配置文件。随意存放。
  • 请定义您的安全要求。 JWT 本身是加密的,无法在客户端解码。只要您将它保存在客户端中,它就会始终通过开发人员工具公开,无论它的 cookie、本地存储等是否都无关紧要。
  • @hazardous :只有 JWE 被加密,通常签名的 JWT (JWS) 只是 Base64Url 编码,当然可以在客户端解码。请不要将编码/解码与加密/解密混淆。这些是非常不同的事情

标签: javascript reactjs react-native react-redux jwt


【解决方案1】:

您应该将令牌存储在local storagesession storage 中,我认为您不能对用户隐藏任何客户端信息。

【讨论】:

    【解决方案2】:

    我认为这可能会有所帮助:

    使用httpOnlysecure cookie。

    当您向服务器发出请求时,Cookie 会自动发送到服务器,但仅发送相关的 cookie(谢天谢地)。

    您应该在服务器端进行身份验证,而不必担心在来自客户端 JS 的单个请求中传递 JWT cookie。这是我所知道的减轻 XSS 攻击的唯一好方法

    【讨论】:

      猜你喜欢
      • 2018-09-11
      • 1970-01-01
      • 2015-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-30
      • 1970-01-01
      相关资源
      最近更新 更多