首页 > 解决方案 > 使用单独的身份验证服务器时如何以编程方式刷新访问令牌 (JWT)?

问题描述

我想使用 JWT 进行用户授权。我的意图是使用身份验证服务器和应用服务器将它们分开。这样,我的身份验证服务器将是唯一的 JWT 发布服务器以及唯一具有登录和注册逻辑的服务器。

我在 node.js 中有一个工作概念证明,但是我最近遇到了一个问题 - 如果我的身份验证服务器是独立的(在不同的 IP 地址上),我如何从应用服务器刷新用户的访问令牌?

我现在在做什么:

  1. 每个客户端都通过安全的 httponly cookie 发送他/她的访问令牌和刷新令牌

  2. 然后我使用中间件检查用户访问令牌的有效性

  3. 如果访问令牌有效,一切都很好,但如果失败,我需要将用户的刷新令牌呈现给身份验证服务器,以获得新的访问令牌(这是我卡住的地方)

最好的方法是什么?

我应该从中间件发出远程 HTTPS 请求以获取新的访问令牌吗?

如果我使用远程服务器,我看不到另一种方式。

标签: node.jsjwtexpress-jwt

解决方案


推荐阅读