Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.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
节点Js Express应用程序中的JSON Web令牌_Json_Node.js_Api_Express_Json Web Token - Fatal编程技术网

节点Js Express应用程序中的JSON Web令牌

节点Js Express应用程序中的JSON Web令牌,json,node.js,api,express,json-web-token,Json,Node.js,Api,Express,Json Web Token,所以我在NodeJS中有一个使用Express的API,我想保护它,这样只有我或已知的客户才能使用它。我找到了关于JSON Web令牌的信息,但不确定如果使用JQuery从Web客户机向API发出AJAX请求,如何确保密钥的安全。人们将能够得到钥匙并提出正确的要求 我如何防止这种情况?或者我误解了JSON Web标记的概念 另一个较小的问题是,我发现了jsonwebtoken npm包,它似乎很流行,您可以签署一个web令牌并验证它。核查是如何进行的?我知道你传递了一个秘密,但同一个秘密用于多个

所以我在NodeJS中有一个使用Express的API,我想保护它,这样只有我或已知的客户才能使用它。我找到了关于JSON Web令牌的信息,但不确定如果使用JQuery从Web客户机向API发出AJAX请求,如何确保密钥的安全。人们将能够得到钥匙并提出正确的要求

我如何防止这种情况?或者我误解了JSON Web标记的概念


另一个较小的问题是,我发现了jsonwebtoken npm包,它似乎很流行,您可以签署一个web令牌并验证它。核查是如何进行的?我知道你传递了一个秘密,但同一个秘密用于多个签名密钥,对吗?我最初认为我将密钥存储在数据库或其他地方,并验证请求中提供的密钥是否在我的数据库中,但情况似乎并非如此,因为您没有存储密钥。

令牌中有过期日期。除非您将到期日期设置为“永不”(这有点缺陷),否则我认为您不必担心共享令牌的情况。我总是想要一个令牌,因此如果一个令牌到期,我应该如何获得一个新的令牌?如果我使用一个端点,它将不受保护,任何人都可以获得一个令牌并开始使用API。一般来说,在旧令牌过期时,您不会获得新令牌,而是希望刷新令牌。例如,您将令牌设置为在30分钟内过期,但每当用户对网页进行某种交互时,您都会刷新令牌。您也可以在那里执行一些逻辑来减少刷新令牌的频率。通常,您会创建一个新端点来刷新令牌。它将接受一个有效的、未过期的令牌,并返回一个新令牌。该令牌中有一个过期日期。除非您将到期日期设置为“永不”(这有点缺陷),否则我认为您不必担心共享令牌的情况。我总是想要一个令牌,因此如果一个令牌到期,我应该如何获得一个新的令牌?如果我使用一个端点,它将不受保护,任何人都可以获得一个令牌并开始使用API。一般来说,在旧令牌过期时,您不会获得新令牌,而是希望刷新令牌。例如,您将令牌设置为在30分钟内过期,但每当用户对网页进行某种交互时,您都会刷新令牌。您也可以在那里执行一些逻辑来减少刷新令牌的频率。通常,您会创建一个新端点来刷新令牌。它将接受一个有效的、未过期的令牌,并返回一个新令牌。