【发布时间】:2019-03-30 06:05:33
【问题描述】:
我有一个节点反应项目,我需要知道传入请求的状态,因此我在任何路由之前放置了一个中间件。我想知道.verify的复杂度是多少
因为在服务器端,我有一个中间件,将在每个请求中到达服务器。这是中间件:
const jsonwebtoken = require('jsonwebtoken');
module.exports = ('/', (req,res,next)=>{
if(req.cookies){
if(req.cookies.token){
let decoded = '' ;
try{
decoded = jsonwebtoken.verify(req.cookies.token, 'this is the secret');
req.user = decoded ;
req.isTokenValid = true ;
}catch(err){
console.log('we got error, verifying the jwt:::', err);
req.hasToken = true ;
req.isTokenValid = false ;
}
}
else{
req.hasToken = false ;
req.isTokenValid = false ;
}
}
else{
console.log('else for nothing in cookies');
req.hasToken = false;
req.hasValidToken = false ;
}
next();
})
正如您在每个请求中看到的那样,我将验证令牌,这是一种同步方法。
问题来了,这种方法是否有效?或者我应该把这段代码放在一个特定的路径而不是一个中间件?还是别的什么?
谢谢
【问题讨论】: