gpt4 book ai didi

node.js - 包含userID的JWT是否需要数据库验证?

转载 作者:搜寻专家 更新时间:2023-10-31 23:03:16 26 4
gpt4 key购买 nike

我像这样用 userID 和 iat(issues at)签署了一个 JWT(JSON Web Token)

jwt.encode({sub: user.id, iat: timestamp}, jwtSecret);

当我从客户端收到 JWT 时,我对其进行解码以提取用户 ID。每次我需要允许用户访问安全路由时,我是否需要通过检查其在数据库中的存在来验证用户 ID(首先参见 example)?或者我可以假设用户是她所说的那个人,并允许她访问安全路径吗?

我的感觉是我需要访问数据库以在每次请求时验证用户,这会很昂贵并且违背了使用 JWT 的目的。

最佳答案

您的 token 已签名。如果有人在客户端更改 token ,它将无法通过验证并且服务器端框架将拒绝它。因此,您可以信任您的 token 。当然,jwtSecret 应该是只有你的认证服务器和资源服务器知道的 secret 。

  • 只有当您信任请求它的用户时,您才能生成 token 。
  • 只要 token 没有过期并且可以用 secret 进行验证,您就可以信任它。

关于node.js - 包含userID的JWT是否需要数据库验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49870915/

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