此示例中的 JWT 令牌存储在哪里?
Where are JWT tokens stored in this example?
我是初学者,最近开始学习授权和认证。
所以我遇到了 JWT 并开始寻找如何在 node js 中实现它的教程。
显然有一个名为“jsonwebtoken”的用于 nodejs 的 jwt 中间件。
我看过一些关于它的视频,了解到您可以通过访问 header 来访问创建的令牌:(req.headers)
Video I got the information from
code
现在我正在处理“header”来自 的问题, 是 已存储。它是 html header 还是特定的 cookie。我知道有 3 个存储(本地、session 和 cookie 存储)但是它存储在这 3 个中的哪一个中。
我真的很迷茫
你是选择存储位置的人:身份验证成功后,JWT 将被发送到客户端并存储在客户端,所以正如你所说,你应该在 3 种解决方案之间进行选择:
1- 本地存储
2- Cookie:容易受到 csrf 攻击。
3- SessionStorage:此选项被排除在外,因为一旦您的用户关闭其 window,存储在这里的数据将丢失,除非您想要这种行为。
存储令牌后,您可以再次选择发送方式:
1- 在 header(授权)中发送,例如,
2- 直接在请求 body 中发送(例如 JSON)。
您的后端应该知道如何从 header / body 中提取它,再次您的选择。
请记住,您需要在每次向保护区发出请求时发送它,这样每次您的后端收到对保护区的请求时,您都在进行无状态身份验证。
简单来说,生成令牌后,您可以通过 cookie(如果您想避免 XSS 攻击,最好是 http-only cookie)将其作为响应发送,或者直接在响应中发送 body,之后它存储在 localStorage(或 cookie,如果您选择使用它),并在随后的 HTTP 请求中发送 Authorization
header,其值为 bearer <token>
],jwt存储在localStorage中的位置。
我是初学者,最近开始学习授权和认证。
所以我遇到了 JWT 并开始寻找如何在 node js 中实现它的教程。 显然有一个名为“jsonwebtoken”的用于 nodejs 的 jwt 中间件。
我看过一些关于它的视频,了解到您可以通过访问 header 来访问创建的令牌:(req.headers) Video I got the information from
code
现在我正在处理“header”来自 的问题, 是 已存储。它是 html header 还是特定的 cookie。我知道有 3 个存储(本地、session 和 cookie 存储)但是它存储在这 3 个中的哪一个中。
我真的很迷茫
你是选择存储位置的人:身份验证成功后,JWT 将被发送到客户端并存储在客户端,所以正如你所说,你应该在 3 种解决方案之间进行选择:
1- 本地存储
2- Cookie:容易受到 csrf 攻击。
3- SessionStorage:此选项被排除在外,因为一旦您的用户关闭其 window,存储在这里的数据将丢失,除非您想要这种行为。
存储令牌后,您可以再次选择发送方式:
1- 在 header(授权)中发送,例如,
2- 直接在请求 body 中发送(例如 JSON)。
您的后端应该知道如何从 header / body 中提取它,再次您的选择。
请记住,您需要在每次向保护区发出请求时发送它,这样每次您的后端收到对保护区的请求时,您都在进行无状态身份验证。
简单来说,生成令牌后,您可以通过 cookie(如果您想避免 XSS 攻击,最好是 http-only cookie)将其作为响应发送,或者直接在响应中发送 body,之后它存储在 localStorage(或 cookie,如果您选择使用它),并在随后的 HTTP 请求中发送 Authorization
header,其值为 bearer <token>
],jwt存储在localStorage中的位置。