【发布时间】:2021-08-23 14:45:36
【问题描述】:
我正在尝试实现 JWT 令牌(访问令牌和刷新令牌),但在请求具有过期访问令牌的受保护资源时遇到了问题,而刷新令牌仍然有效。
我知道我不应该使用刷新令牌来请求资源,刷新令牌应该用于授权验证器以重新验证/重新生成访问令牌。
在我的应用程序中,用户可以使用有效凭据通过 POST 请求登录,以获取访问令牌(1 分钟内到期)和刷新令牌(10 分钟内到期)。现在说用户在登录后 30 秒发出请求并发送两个令牌,然后检查令牌并返回资源。如果现在用户在 2 分钟后发出请求并发送令牌,他的访问令牌无效,在这种情况下,我该如何继续请求并重新验证令牌。
我可以考虑使用中间件来验证和提供令牌并将其与响应一起发送,但这是正确的方法吗? 然后我需要在客户端处理和恢复每个响应的令牌。不是吗?
另外,我不想提示用户重新登录。我在服务器上使用 Node 和 Express,在客户端上使用 React。
【问题讨论】:
标签: node.js express jwt middleware refresh-token