我目前正在构建一个使用 asp.net 和 microsoft jwt 库发布 jwt 令牌和刷新令牌的安全服务。我的问题是,我有来自存储在 db 中的用户的刷新令牌:
谢谢。
答案 0 :(得分:2)
处理列入黑名单的 JWT 令牌的一种标准方法是维护不应再受尊重的令牌的黑名单缓存。您通常会设计设置,以便在任何给定时间黑名单缓存中的 JWT 数量相对较少。由于缓存相当快(比数据库查找快约 100 倍),因此检查每个传入请求的缓存并不是性能杀手。
然后将传入 JWT 的工作流修改为:
关于整理黑名单缓存,一种常见的方法是为每个 JWT 分配一个到期时间。然后,当给定的访问或刷新令牌到期时,可以将其从缓存中删除。例如,Redis 支持使用到期时间自动删除陈旧的缓存条目。