我正在处理一个项目(没有任何生产级别,仅用于提升我的技能)并且我正在使用 JWT 来处理身份验证。从我读到的内容来看,仅将 JWT 用作访问令牌是非常不安全的,因此我们需要刷新令牌。因此,在登录时,服务器会返回访问令牌和刷新令牌(我将其存储在 httpOnly cookie 中)。访问令牌在短时间内到期,但刷新令牌用于在它到期时获取新令牌。
我的问题是,我们什么时候使用刷新令牌来获取新的访问令牌?是在用户想要获取受保护资源并发现访问令牌已过期(而刷新令牌尚未过期)时还是每次用户想要获取受保护资源时发送新的访问令牌?我对刷新令牌何时何地发挥作用感到困惑。
(我使用 React 作为前端,使用 Nodejs 作为服务器)
您正在使用一些安全令牌,因此这意味着您的系统具有一些受保护的资源。只有在成功验证令牌后才能访问这些资源。由于您正在使用 JWT 令牌(通常用于无状态身份验证)并且您的系统同时授予access_token
和授予refresh_token
客户端,因此在服务器端您可以使用一些身份验证拦截器来验证每个私有请求中的 access_token 并返回一些错误代码令牌到期。在客户端,您还可以使用一些过滤器来捕获错误代码,并通过利用可用的 refresh_token 从服务器请求新的 access_token。如果 refresh_token 过期,您的系统应遵循新身份验证的路线。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句