在使用nimbus-jose-jwt库中的jwt-with-hmac编写JWT时,verify验证JWT Token时会默认验证校验JWTClaimsSet里的expirationTime字段。

如果你的verify验证一个已过期的JWT Token仍然能通过,可能有以下几个原因:

  1. 验证过期时间的逻辑有误:请确保你的代码正确设置了验证过期时间的逻辑,包括获取当前时间和比较当前时间与过期时间的逻辑。

  2. 时钟不同步:JWT Token的过期时间是由发放JWT Token的服务器设置的,验证端的服务器的时钟可能与发放端的服务器的时钟存在差异。请确保验证端服务器的时钟与发放端服务器的时钟同步,以避免验证的结果出现偏差。

  3. 缓存问题:如果你使用了缓存机制,可能已过期的JWT Token仍然被缓存起来并返回给验证端。请确保在验证JWT Token之前,从缓存中移除已过期的Token。

请检查以上几个方面,以确定为何已过期的JWT Token仍然能通过验证。


原文地址: https://www.cveoy.top/t/topic/ifvW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录