Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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
Javascript JWT在ExpressJs中使用时存在多个问题_Javascript_Node.js_Express_Jwt - Fatal编程技术网

Javascript JWT在ExpressJs中使用时存在多个问题

Javascript JWT在ExpressJs中使用时存在多个问题,javascript,node.js,express,jwt,Javascript,Node.js,Express,Jwt,我正在使用Express Js以及jsonwebtoken版本^7.4.1 问题: 如何区分过期和无效令牌 如何使用刷新令牌和JWT 当我验证由express js创建的JWT令牌始终无效时,但当使用相同的数据在JWT.io中创建令牌时,该令牌有效。我遗漏了什么吗?下面是链接 (无效令牌) (有效代币) 生成JWT令牌的代码 返回jwt.sign(用户,config.secretKey{ expiresIn:10//令牌过期的时间(秒)。 }); 对客户来说没有区别,两种情况下他都能得到

我正在使用
Express Js
以及
jsonwebtoken
版本
^7.4.1

问题:

  • 如何区分
    过期
    无效
    令牌
  • 如何使用
    刷新令牌
    JWT
  • 当我验证由
    express js
    创建的
    JWT
    令牌始终无效时,但当使用相同的数据在
    JWT.io
    中创建令牌时,该令牌有效。我遗漏了什么吗?下面是链接
    • (无效令牌)
    • (有效代币)
    • 生成JWT令牌的代码
      
      返回jwt.sign(用户,config.secretKey{
      expiresIn:10//令牌过期的时间(秒)。
      });
      
  • 对客户来说没有区别,两种情况下他都能得到401。 在服务器端,您将验证签名。和exp字段
  • 请参阅我的答案:
  • 这是试图在jwt.io上验证令牌的用户经常遇到的问题。 您必须将
    config.secretKey
    的内容粘贴到“Decoded”列表格“Verify Signature”部分的编辑字段中。在第二种情况下,secret是“secret”,这是jwt.io上的默认设置。如果您有一个不同的秘密,就像在第一个案例中一样,jwt.io不知道它,因此无法验证它
  • 对客户来说没有区别,两种情况下他都能得到401。 在服务器端,您将验证签名。和exp字段
  • 请参阅我的答案:
  • 这是试图在jwt.io上验证令牌的用户经常遇到的问题。 您必须将
    config.secretKey
    的内容粘贴到“Decoded”列表格“Verify Signature”部分的编辑字段中。在第二种情况下,secret是“secret”,这是jwt.io上的默认设置。如果您有一个不同的秘密,就像在第一个案例中一样,jwt.io不知道它,因此无法验证它

  • 1) 如何在服务器端验证令牌?2) 如何与JWT一起使用刷新令牌?我的意思是如何生成刷新令牌以及如何验证它们并发送新的访问令牌。3) 现在,这是正确的。1)可能是jwt.verify(…),检查您的框架文档,我在这里没有使用node.js和express。基本上,您可以做与jwt.io相同的事情:检查签名是否匹配。2) 也许这有帮助:我可以使用另一个JWT令牌作为刷新令牌吗?有更多的过期时间。验证此刷新令牌并发送新的访问令牌。基本上,您可以根据需要实现令牌和刷新令牌处理,但通常刷新令牌不是jwt。最好依赖框架提供的内容。我不确定
    jwt
    nodejs
    中提供的刷新令牌,我已经访问了您发布的链接,但它没有描述
    刷新令牌的实现。这是正确的链接?1)如何在服务器端验证令牌?2) 如何与JWT一起使用刷新令牌?我的意思是如何生成刷新令牌以及如何验证它们并发送新的访问令牌。3) 现在,这是正确的。1)可能是jwt.verify(…),检查您的框架文档,我在这里没有使用node.js和express。基本上,您可以做与jwt.io相同的事情:检查签名是否匹配。2) 也许这有帮助:我可以使用另一个JWT令牌作为刷新令牌吗?有更多的过期时间。验证此刷新令牌并发送新的访问令牌。基本上,您可以根据需要实现令牌和刷新令牌处理,但通常刷新令牌不是jwt。最好依赖框架提供的内容。我不确定
    jwt
    nodejs
    中提供的刷新令牌,我已经访问了您发布的链接,但它没有描述
    刷新令牌的实现。这是正确的链接吗?