【问题标题】:expire JWT token if new JWT token id generated如果生成了新的 JWT 令牌 ID,则 JWT 令牌过期
【发布时间】:2020-01-13 14:39:40
【问题描述】:

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

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

【问题讨论】:

  • https://stackoverflow.com/questions/21978658/invalidating-json-web-tokens 您可以从客户端移除 jwt 令牌并添加分配新的
  • @YeganehSalami 如果用户登录新设备,那么我如何使旧设备上的 JWT 令牌过期。

标签: python django django-rest-framework django-rest-framework-jwt


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-08-29
    • 2021-07-29
    • 1970-01-01
    • 2017-03-04
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 2019-03-08
    • 2019-07-04
    相关资源
    最近更新 更多