【发布时间】:2020-11-02 13:42:27
【问题描述】:
当我调用登录 api 并生成新的访问和刷新令牌时,我想 过期 现有的 JWT 访问令牌和刷新令牌。 我使用 JwtSecurityTokenHandler 来生成访问令牌。我还把 Expires 用于过期令牌。但我想强制过期现有的访问和刷新令牌。
【问题讨论】:
标签: asp.net-core asp.net-web-api jwt
当我调用登录 api 并生成新的访问和刷新令牌时,我想 过期 现有的 JWT 访问令牌和刷新令牌。 我使用 JwtSecurityTokenHandler 来生成访问令牌。我还把 Expires 用于过期令牌。但我想强制过期现有的访问和刷新令牌。
【问题讨论】:
标签: asp.net-core asp.net-web-api jwt
Expire Forcefully 在 JWT 中称为Revoke。但是,在自然 JWT 令牌中并不想被撤销,因为它defines a compact and self-contained way for securely transmitting information between partieshere。所以你不想打电话给revoke,这会让你的系统开销很大。
但是,许多企业系统需要一种机制来立即停止JWT。所以你应该建立一个cache solution 来存储所有提供的令牌。然后每次用户调用你的 API 时,你的 API 服务器必须用你的 Identity Server 而不是自己再次验证,这对于 self-contained 是无效的。但这取决于您的选择,我建议您使用Redis Distributed Cache 强制expire 您提供的令牌,至少这个解决方案可以扩展。
【讨论】: