首页 > 解决方案 > 如果生成了新的 JWT 令牌 ID,则 JWT 令牌过期

问题描述

如果为相同的凭据生成了新的 JWT 令牌,我如何使生成的 JWT 令牌过期。

user = User.objects.get(email=req['email'])
payload = jwt_payload_handler(user)
token = jwt_encode_handler(payload)

标签: pythondjangodjango-rest-frameworkdjango-rest-framework-jwt

解决方案


这是 JWT 令牌的核心功能 -令牌本身包含有效时间,无需将令牌存储在数据库中或进行数据库(或其他)调用来验证 JWT 令牌 - 只需检查其过期时间字段。

令牌过期,过期后不再自动接受。一种方法是使用短期令牌,因此在后端手动失效(通常是生成新令牌)的情况下,当旧令牌处于活动状态时,可接受的窗口很小。

另一种选择是将手动过期的令牌添加到黑名单中,并为每个传入的请求/令牌检查它是否存在于黑名单中。


推荐阅读