qua*_*ddy 6 authentication node.js jwt jwt-simple
我使用 userID 和 iat(issues at)签署 JWT(JSON Web 令牌),如下所示
jwt.encode({sub: user.id, iat: timestamp}, jwtSecret);
Run Code Online (Sandbox Code Playgroud)
当我从客户端收到 JWT 时,我对其进行解码以提取用户 ID。每次我需要允许用户访问安全路由时,我是否需要通过检查它在数据库中的存在来验证用户 ID(参见第一个示例)?或者我可以假设用户就是她所说的那个人,并允许她访问安全路径?
我的感觉是我需要访问数据库来验证每个请求的用户,这会很昂贵并且违背了使用 JWT 的目的。
您的令牌已签名。如果有人在客户端更改令牌,则验证将失败,服务器端框架将拒绝它。因此,您可以信任您的代币。当然,jwtSecret 应该是只有你的认证服务器和资源服务器知道的秘密。