Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 以角度验证jwt?_Angular_Jwt - Fatal编程技术网

Angular 以角度验证jwt?

Angular 以角度验证jwt?,angular,jwt,Angular,Jwt,早晨 我有一个关于JWT和Angular的问题 我希望使用jwt在我的前端应用程序(使用angular开发)和后端服务之间进行所有交易,以确保数据完整性 那么angular应用程序如何检查和验证jwt消息呢?我知道应用程序必须使用密钥来验证jwt数据,但问题是我应该在应用程序中将密钥保存在哪里?或者我必须假设jwt在所有情况下都有效 诚恳地说,事实是您的密钥是服务器端的。 做得很好 客户端要做的是检查它的有效性 您可以使用拦截器检查每个HTTP请求的完整性: 然后,在每个请求上,您将根据您实际在

早晨

我有一个关于JWT和Angular的问题

我希望使用jwt在我的前端应用程序(使用angular开发)和后端服务之间进行所有交易,以确保数据完整性

那么angular应用程序如何检查和验证jwt消息呢?我知道应用程序必须使用密钥来验证jwt数据,但问题是我应该在应用程序中将密钥保存在哪里?或者我必须假设jwt在所有情况下都有效


诚恳地说,事实是您的密钥是服务器端的。 做得很好

客户端要做的是检查它的有效性

您可以使用拦截器检查每个HTTP请求的完整性:

然后,在每个请求上,您将根据您实际在服务器端设置的内容来验证JWT。 然后处理实际令牌有效或无效的情况


这里有一个链接,它取决于您如何使用JWT。通常,当JWT随每个请求一起发回时(在cookie或授权头中),签名会在服务器上进行验证。这是为了验证JWT未被更改。但是,如果客户机需要在JWT中使用声明,那么有时在客户机中验证JWT的完整性是很好的

如果JWT是使用密钥签名的,那么将其保存在客户端会使该密钥面临暴露的风险,特别是在使用基于浏览器的客户端(如Angular)时。如果这个秘密被泄露了,那么就可以用它来修改JWT并在其上签名

如果需要在客户端验证JWT,则应使用私钥/公钥对分别对JWT进行签名和验证。在客户端使用公钥验证JWT的签名不会带来安全风险。顾名思义,公钥是为任何人设计的


该包还可用于处理JWT的签名和验证。提供JWT帮助的好网站是。

客户端(在本例中为angular)不需要验证JWT令牌。它只是存储和发送jwt。然后,服务器将验证jwt令牌是否有效并做出适当响应。但这不是我所说的令牌。我想实现的是以jwt消息格式发送数据。例如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.EYJUYU1LIJOISM9OBIB2UILCJKYXRHIJPBXX0.dprpNQZIhA-GU3SGDUUX5WD6OMBZMXRHQE0HOA4 NFUUW您所说的以jwt消息格式发送数据是什么意思?事实上,我的意思是,jwt中的声明可以是任何数据、产品数据、财务数据,而不仅仅是sub等预定义的声明。。也许我应该用JWS来代替JWT,这样更清楚。因此,客户机必须使用密钥对数据进行编码/解码。报头和有效负载(声明)仅进行base64UrlEncoded。他们不使用密钥。只有签名用密钥散列。从技术上讲,任何拥有您的令牌的人都可以解码标头和Payloads,但我仍然需要密钥来验证服务器发送的数据,即使我使用Interceptors,这就是@LLai comment的意思:“客户端不需要验证JWT令牌”,因为它是针对每个HTTP请求进行检查的,我仍然无法理解。你说的jwt代币是什么意思?这不是访问令牌?你不明白什么?(JWT代表Javascript Web令牌)@t3_rry尽管我在这里的评论与所问的问题无关,但我只是想澄清JWT代表JSON Web令牌,而不是Javascript Web令牌。谢谢