此示例中 JWT 令牌存储在哪里?

     2023-03-08     135

关键词:

【中文标题】此示例中 JWT 令牌存储在哪里?【英文标题】:Where are JWT tokens stored in this example? 【发布时间】:2020-11-22 04:48:26 【问题描述】:

我是初学者,最近开始学习授权和身份验证。

所以我遇到了 JWT 并开始寻找如何在 node js 中实现它的教程。 显然有一个用于 nodejs 的 jwt 中间件,称为“jsonwebtoken”。

我看过一些关于它的视频,了解到您可以通过访问 header 来访问创建的令牌:(req.headers) Video I got the information from

code

现在我正在处理“标题”来自哪里以及它存储在哪里存储的问题。它是 html 标头还是特定的 cookie。我知道有 3 个存储(本地、会话和 cookie 存储),但它存储在这 3 个中的哪一个。

我真的很困惑

【问题讨论】:

【参考方案1】:

您是选择存储位置的人:在成功验证后,JWT 将被发送到客户端并存储在客户端,所以正如您所说,您应该在 3 个解决方案之间进行选择:

1- 本地存储

2- Cookie:易受 csrf 攻击。

3- SessionStorage:此选项被排除在外,因为一旦您的用户关闭其窗口,存储在此处的数据就会丢失,除非您想要这种行为。

一旦您的令牌被存储,您可以再次选择发送方式:

1- 例如,在标头(授权)中发送,

2- 直接在请求正文中发送(例如在 JSON 中)。

你的后端应该知道如何从标题/正文中提取它,再次由你选择。

请记住,您需要在每次向受保护区域发出请求时都发送它,这样每次您的后端收到对受保护区域的请求时,您都会进行无状态身份验证。

【讨论】:

非常感谢您花时间帮助我。但是锄头我到底是在 http 标头中对客户端做出这些响应吗? link【参考方案2】:

简单来说,生成令牌后,您可以通过 cookie 将其作为响应发送(如果您想避免 XSS 攻击,最好使用 http-only cookie),或者只是在响应正文中发送,然后存储在 localStorage(或 cookie,如果您选择使用它)中,并在随后的 HTTP 请求中发送带有 Authorization 标头,其值为 bearer <token>,其中存储在 localStorage 中的 jwt。

【讨论】:

非常感谢您花时间帮助我。但是锄头我到底是在 http 标头中对客户端做出这些响应吗? link 对客户端的响应在响应正文中。随后的请求通过标头发送。根据您用于从客户端(XHR/fetch/axios)发送请求的方式,您将有一种向请求添加标头的方法。一个好的方法是设置拦截器(如果你使用 axios)。

我在哪里可以将 jwt 令牌存储在 localStorage 中?

】我在哪里可以将jwt令牌存储在localStorage中?【英文标题】:wherecanIstorejwttokeninlocalStorage?【发布时间】:2020-09-0803:41:18【问题描述】:我想将jwt令牌存储在localStorage中,然后将其发送回服务器,并以express形式发送标头,我在Visu... 查看详情

我应该在哪里存储 JWT 令牌?

】我应该在哪里存储JWT令牌?【英文标题】:WhereshouldIstoreJWTtoken?【发布时间】:2019-04-2519:55:42【问题描述】:我正在使用vue.js和vuex开发一个应用程序,它使用JWT令牌对JSONAPI服务器进行身份验证。所以我想知道存储JWT令牌的最... 查看详情

在 Django REST 框架中使用 JWT 时,刷新令牌和访问令牌存储在哪里?

】在DjangoREST框架中使用JWT时,刷新令牌和访问令牌存储在哪里?【英文标题】:WheretherefreshtokenandaccesstokenarestoredwhileusingJWTinDjangorestframework?【发布时间】:2021-01-2308:32:24【问题描述】:我正在尝试使用djangorestframework-simplejwt为我... 查看详情

在哪里存储访问令牌以及如何跟踪用户(在 Http only cookie 中使用 JWT 令牌)

】在哪里存储访问令牌以及如何跟踪用户(在Httponlycookie中使用JWT令牌)【英文标题】:Wheretostoreaccesstokenandhowtokeeptrackofuser(usingJWTtokeninHttponlycookie)【发布时间】:2021-12-2614:38:33【问题描述】:试图了解如何在客户端获取并保存... 查看详情

在基于 Web 的应用程序中,哪里可以正确、安全地存储 JWT 令牌?

】在基于Web的应用程序中,哪里可以正确、安全地存储JWT令牌?【英文标题】:WheretostoreaJWTtokenproperlyandsafelyinawebbasedapplication?【发布时间】:2018-07-2015:25:15【问题描述】:我熟悉Web存储API和cookie,但我不知道存储身份验证令牌... 查看详情

我们可以在哪里安全地存储 JWT 令牌?

】我们可以在哪里安全地存储JWT令牌?【英文标题】:WherecanwestoretheJWTtokensecurely?【发布时间】:2020-08-2221:06:48【问题描述】:1.UserwilldotheloginUserNameandpassword.2.IftheloginsuccessthenserverwillreturnJWT.3.Nowwewillstorethetoken.4.Nowforeveryreques 查看详情

jwt访问令牌存储在spring boot中的哪里?

】jwt访问令牌存储在springboot中的哪里?【英文标题】:Wherejwtaccesstokenisstoredinspringboot?【发布时间】:2021-03-1211:55:06【问题描述】:大家好我正在开发带有jwt身份验证和spring安全性的springboot项目,我可以获得访问令牌,但有一个... 查看详情

我可以在哪里将 JWT 令牌存储在 React js 中以验证应用程序后端的各种路由?

】我可以在哪里将JWT令牌存储在Reactjs中以验证应用程序后端的各种路由?【英文标题】:WhereIcanstoreJWTtokeninReactjsforauthenticatethevariousroutesonbackendofapp?【发布时间】:2020-08-0422:00:06【问题描述】:我正在使用JWT令牌进行身份验证和... 查看详情

如何在 BizTalk 2013 R2 中存储 JWT 令牌?

】如何在BizTalk2013R2中存储JWT令牌?【英文标题】:HowcanIstoreaJWTtokeninBizTalk2013R2?【发布时间】:2021-08-3008:09:39【问题描述】:我需要存储一个JWT令牌,以便通过BizTalkServer2013R2中同一业务流程的多个实例使用它。如何存储它并在每... 查看详情

将您的 jwt 令牌存储在 react 或 angular 或 vue 中

】将您的jwt令牌存储在react或angular或vue中【英文标题】:Storingyourjwttokeninreactorangularorvue【发布时间】:2021-09-1000:36:47【问题描述】:朋友们好,感谢您回答这个问题。你在哪里存储令牌jwt,你认为保存令牌更安全?【问题讨论... 查看详情

在客户端存储 JWT 令牌的位置以及如何保护它? [复制]

】在客户端存储JWT令牌的位置以及如何保护它?[复制]【英文标题】:WheretostoreJWTtokeninclientsideandhowtosecureit?[duplicate]【发布时间】:2020-04-0204:18:12【问题描述】:我正在使用节点js来验证用户并发送回JWT令牌。我在前端使用Angular6... 查看详情

使用节点将令牌保存在本地存储中

】使用节点将令牌保存在本地存储中【英文标题】:SaveTokeninlocalStorageusingnode【发布时间】:2016-01-1915:59:11【问题描述】:我将JWT("jsonwebtoken":"^5.4.0")与express4和玉一起使用。我能够创建正确的令牌,但是如何在每... 查看详情

在哪里存储 JWT 令牌 Laravel 5.6 应用程序?

】在哪里存储JWT令牌Laravel5.6应用程序?【英文标题】:wheretostoreJWTtokenLaravel5.6Apps?【发布时间】:2019-02-0607:20:12【问题描述】:目前,我使用laravel5.6构建了一个Web应用程序,其中包含Web和API路由,并且我使用JWTtoken作为API的身份... 查看详情

在 .net 核心 web api 中存储 JWT 令牌的位置?

】在.net核心webapi中存储JWT令牌的位置?【英文标题】:WheretostoreJWTTokenin.netcorewebapi?【发布时间】:2019-04-2614:41:37【问题描述】:我正在使用webapi来访问数据,并且我想对webapi进行身份验证和授权。为此,我正在使用JWT令牌身份... 查看详情

存储 JWT 令牌

】存储JWT令牌【英文标题】:StoringaJWTtoken【发布时间】:2019-02-0116:36:00【问题描述】:我正在使用JWT进行身份验证。现在我想将这个生成的令牌存储在一个类中,以便任何其他类都可以使用它,直到会话到期。最好的方法是什... 查看详情

如何在 PHP 中检查没有密钥的 JWT 完整性?

...据库中得到的令牌。我发现的所有JWTPHP库都按此顺序显示示例:使用秘密ky生成令牌使用此密钥解码JWT我需要检查 查看详情

解析 jwt 令牌时在哪里验证 JWT 密钥?

...布时间】:2020-09-1308:17:44【问题描述】:我正在阅读JWT的示例文件夹,我有点不确定验证令牌的工作原理。funcExampleNewWithClaims_customClaimsType()mySigningKey:=[]byte("AllYourBase") 查看详情

哪种 oauth 令牌类型更适合基于节点 js 的应用程序。 JWT 还是不透明的?在哪里存储它们中的每一个

】哪种oauth令牌类型更适合基于节点js的应用程序。JWT还是不透明的?在哪里存储它们中的每一个【英文标题】:Whichoauthtokentypeisbetterfornodejsbasedapplications.JWTsorOpaque?Wheretostoreeachoneofthem【发布时间】:2020-10-0500:24:22【问题描述】:... 查看详情