Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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
Node.js nodejsjwt令牌存储_Node.js - Fatal编程技术网

Node.js nodejsjwt令牌存储

Node.js nodejsjwt令牌存储,node.js,Node.js,我正在创建用户身份验证服务,并使用passport jwt策略进行身份验证。但是,在将生成的“JWT令牌”存储到用户模式中的问题上仍然存在分歧。是否需要将JWt令牌存储到用户模型中?创建JWt以存储在客户端。 服务器只需要一个密钥来验证令牌签名,以确保它没有被篡改。 如果您需要能够使会话无效,那么可能应该使用另一种形式的验证。不需要存储jwt令牌,从服务器端您只需要验证jwt令牌,验证jwt令牌的身份和角色,jwt令牌应该只存储在客户端。Jwt为用户提供无会话授权。有关更多信息,请访问jwt官方

我正在创建用户身份验证服务,并使用passport jwt策略进行身份验证。但是,在将生成的“JWT令牌”存储到用户模式中的问题上仍然存在分歧。是否需要将JWt令牌存储到用户模型中?

创建JWt以存储在客户端。 服务器只需要一个密钥来验证令牌签名,以确保它没有被篡改。
如果您需要能够使会话无效,那么可能应该使用另一种形式的验证。

不需要存储jwt令牌,从服务器端您只需要验证jwt令牌,验证jwt令牌的身份和角色,jwt令牌应该只存储在客户端。Jwt为用户提供无会话授权。有关更多信息,请访问jwt官方网站。

jwt是无状态的,不需要存储在服务器端。但是,表示一个属性
jti
,它是令牌的ID。这一个可能值得存储,比如说,稍后将一个特定令牌列入黑名单。

存储令牌是不必要的,因为令牌本身包含一些关于用户的唯一信息。令牌可以直接用于获取用户名等用户信息。如果您想包括撤销令牌的功能,那么存储令牌是必要的好的,但是如果我们注销用户,我们可以做什么?在这种情况下,我们只需要从浏览器本地存储中删除令牌。