首页 > 解决方案 > 在 Node 中使用 JWT 进行授权

问题描述

所以我一直在学习使用 POSTMAN 教授身份验证的 Udemy 课程,但我一直想知道它在使用浏览器的实际应用程序中是如何工作的。我们被教导使用 res.header('x-auth-token', token) 存储 JWT 令牌。然后当我们尝试访问受保护的路由时,我们在 POSTMAN 标头中手动添加令牌,并在服务器上使用 req.header('x-auth-token') 获取令牌并验证令牌。

但是在一个真正的应用程序中,我使用浏览器登录,它确实使用令牌设置了标题,但是一旦我输入 URL 以进入受限/经过身份验证的所需路径,比如说 /user/profile,它会询问让我重新登录。当我输入新的 URL 时,令牌没有保留吗?

如何获取它以便令牌在浏览器中随身携带直到它过期?

标签: node.jsauthenticationtoken

解决方案


与使用 POSTMAN 在每个请求中手动添加令牌的方式类似,您的客户端应用程序需要处理(显然与服务器端协调)您如何将令牌发送到服务器。它不会自动执行每个请求。您需要存储服务器返回的 JWT 令牌。

如果您将 JWT 令牌存储在 cookie 中,那么浏览器将在您每次发出请求时发送令牌。但也建议不要使用 cookie。检查有关如何在客户端存储 JWT 令牌以及如何在以后的每个请求中重复添加令牌直到注销的各种方法。还有一个刷新令牌的概念,可以在令牌过期的情况下获取新令牌。

查看以下博客以获取更多信息。您也可以在 Internet 上找到其他资源。

https://hasura.io/blog/best-practices-of-using-jwt-with-graphql/

https://blog.nextzy.me/implementing-json-web-token-jwt-to-secure-your-app-c8e1bd6f6a29


推荐阅读