首页 > 解决方案 > 如何查找用户是否在使用 rails 后端的 react js 应用程序中更改了 Jwt 令牌?

问题描述

我对以下情况有疑问?

(React 和 Rails 分开应用)

我正在使用从 rails 服务器发送的密钥“令牌”将 JWT 保存到本地存储中。我仅通过 JWT 在特定请求中找到用户。如果用户更改本地存储中的 JWT 怎么办。我该如何处理这个案子?如果我在每个请求中检查登录是否有效,我的服务器会死吗?

有什么解决办法吗?

提前致谢。

标签: ruby-on-railsreactjsruby-on-rails-6

解决方案


当您获得 JWT 时,它已经被不对称加密,因此用户将无法在没有访问签名密钥的情况下生成合法的 JWT。但是,客户端仍然能够解码 JWT 并对其进行内省。

最佳实践是在服务器端使用额外级别的对称加密,使用像 AES 这样的算法。这意味着 JWT 在提供给用户时是加密的,并且仅在服务器端解密。

这提供了对篡改攻击的深度防御,因为秘密 JWT 密钥和应用程序的密钥都是伪造密钥所必需的。对称加密 JWT 还可以保护您存储在其中的信息不被客户端访问。


推荐阅读