首页 > 解决方案 > 如何使用两个令牌(访问/刷新)进行授权(nodejs,express)

问题描述

晚上好,我遇到了一个问题,我需要使授权更安全且无需重新登录。我在互联网上读到您需要使用两个令牌(访问和刷新),但是如何正确地使用它们进行授权。您可以建议使用两个令牌进行有效授权的资源。

我的技术栈:

标签: node.jsexpressjwtaccess-tokenrefresh-token

解决方案


如果您使用 offline_access 范围请求身份验证,除了访问令牌之外,您还将获得一个刷新令牌。将此刷新令牌保存到数据库中,当您需要代表用户进行另一次调用时,您可以

  1. 使用您现有的访问令牌拨打电话。如果你没有得到401,那么你很好。
  2. 如果您确实收到 401,则您的令牌可能已过期,然后您可以使用刷新令牌和 grant_type=refresh_token 调用授权服务器上的令牌端点以获取新的访问令牌并再次尝试调用。

在进行另一次调用之前,始终使用刷新令牌请求新的访问令牌可能是最有意义的。


推荐阅读