我是单页应用程序的新手。对我来说,一个大问题是如何确保我的应用程序安全。我在前端使用 React,在后端使用 express + mongodb。
我是旧网站,我们使用会话进行授权。如果会话超时,我们可以让用户重定向到登录页面。如果用户继续在我们的网站上执行某些操作,他的会话将永远不会过期。
但是现在,我正在使用 JWT 进行授权。令牌可能会在 1 分钟后过期,之后用户必须重新登录。
据我了解,一种方法是“在每个请求/响应上重新发送一个令牌,然后每个请求/响应都会有一个新令牌”。但我认为这不是如何使用 JWT 的正确方法。
所以我的问题是:
- 如果他仍然在我们的网络应用程序上工作,那么避免用户再次登录的正确方法是什么?
- 我们需要将令牌存储在数据库(mongodb)中吗?
- 如果我将令牌存储在 localStorage 中,每个人都可以从浏览器中借用它并将令牌复制到他们的客户端中。如何避免?