gpt4 book ai didi

redis - JWT - 每个用户签名 key

转载 作者:可可西里 更新时间:2023-11-01 11:16:59 26 4
gpt4 key购买 nike

在我的项目中,要求在用户更改密码时使用户的所有 jwt token 失效。我正在考虑给每个用户一个不同的签名 key ,并在更改密码时简单地重置 key 。然后我四处搜索,发现 Redis 是存储这些每个用户 key 的好地方。一切似乎都很好。

但有一件事我无法理解。由于它必须在每个请求中访问 Redis 一次,这与向用户颁发不透明 token 而不是 JWT 并将 token -> JWT 有效负载映射存储在 Redis 中有什么不同吗?这不是违背了使用 JWT 的目的吗?

最佳答案

要使 token 无效,您需要撤销它们。 OAuth 规范也不需要每次您需要验证 JWT 时都从远程服务器获取 key (正如您所说,这有点违背了目的)。 key 可以本地存储在资源站点。您在这里有两个选择:

1) 每次验证 JWT token 时,都会根据 OAuth 服务器从资源端检查 JWT token 。对我来说似乎有点矫枉过正。最好的方法是给 JWT token 一个较短的过期时间,让已经发行的 token 直接过期。

2) 让资源在本地存储 key ,当它验证失败时去获取 key 并重新验证它。

关于redis - JWT - 每个用户签名 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45450571/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com