Node.js 如何使用nodejs在基于jwt令牌的错误消息中获取状态代码?

Node.js 如何使用nodejs在基于jwt令牌的错误消息中获取状态代码?,node.js,express-jwt,nodejs-server,Node.js,Express Jwt,Nodejs Server,我使用node.js和MongoDB实现了JWT令牌身份验证。很好用。抛出错误消息也可以正常工作(令牌无效,JWT过期,必须提供JWT)。但是如何在错误消息中自动获取适当的HTTP状态代码 //jwt.js 函数验证令牌(accessToken){ verify(accessToken,config.get(“jwtprivatekey”),函数(err){ 值=错误 }); 返回值 } jwt.verify在出现错误时不会返回任何数字状态代码。根据jsonwebtoken npm模块的文档,我

我使用node.js和MongoDB实现了JWT令牌身份验证。很好用。抛出错误消息也可以正常工作(令牌无效,JWT过期,必须提供JWT)。但是如何在错误消息中自动获取适当的HTTP状态代码

//jwt.js
函数验证令牌(accessToken){
verify(accessToken,config.get(“jwtprivatekey”),函数(err){
值=错误
});
返回值
}

jwt.verify在出现错误时不会返回任何数字状态代码。根据jsonwebtoken npm模块的文档,我们可以清楚地看到,当它抛出错误时,它只返回以下字段

jwt.verify(token, 'shhhhh', function(err, decoded) {
  if (err) {
  /*
     err = {
        name: 'TokenExpiredError',
        message: 'jwt expired',
        expiredAt: 1408621000
     }
  */
  }
});
如果必须从nodejs web服务器返回一些状态代码,则必须将状态代码与来自jwt的错误消息一起嵌入http响应中。像下面这样

jwt.verify(token, 'shhhhh', function(err, decoded) {
  if (err) {

     err = {
        name: 'TokenExpiredError',
        message: 'jwt expired',
        expiredAt: 1408621000
     }
     return res.status(401).send(err)
  }
});

您希望错误状态代码来自何处?我希望错误代码来自API调用,而不是来自jot VerificationSupport如何抛出不同的错误。(令牌无效,JWT过期,必须提供JWT)@smith hari,您可以修改JWT.verify返回的错误对象。