node.js - 在 node.js 应用程序中呈现页面之前解码 JWT cookie 和密码时出错
问题描述
下面是解码 jwt 令牌和密码的代码......我正在检查用户是否仍然登录,因为我在渲染页面之前放置了这个代码
exports.isLoggedIn = async(req,res,next) => {
// console.log(req.cookies);
if(req.cookies.jwt){
try{
//1)Verify the user
const decoded = await promisify(jwt.verify(req.cookies.jwt,process.env.JWT_SECRET));
console.log(req.cookies.jwt);
console.log(process.env.JWT_SECRET);
//verify if user still exist
db.query('SELECT * FROM users WHERE id = ?', [decoded.User_ID],(error,result) =>{
console.log(result);
})
} catch(error){
// console.log(error)
}
}
next();
}
我得到以下错误
TypeError [ERR_INVALID_ARG_TYPE]: The "original" argument must be of type Function. Received type object
at promisify (internal/util.js:256:11)
at exports.isLoggedIn (/Users/ruchir/Documents/Assesment_Node/controllers/auth.js:121:35)
at Layer.handle [as handle_request] (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/layer.js:95:5)
at next (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/route.js:137:13)
at Route.dispatch (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/route.js:112:3)
at Layer.handle [as handle_request] (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/layer.js:95:5)
at /Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/index.js:281:22
at Function.process_params (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/index.js:335:12)
at next (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/index.js:275:10)
at Function.handle (/Users/ruchir/Documents/Assesment_Node/node_modules/express/lib/router/index.js:174:3)
解决方案
推荐阅读
- java - Eclipse 变量 ${project.classpath} 在 ant 构建期间不可用
- android - Lottie 动画有很大的填充。如何通过删除填充来调整动画到视图的大小
- docker - 在 Windows Container 中运行的非入口点(随机)进程如何写入 docker 默认日志输出(stdout)?
- python - 如何在 mayavi/tvtk 非结构化网格中添加几个标量场?
- r - 基于两个不同列中的两个条件的子集数据框 R
- c - MPLAB X 中的有效代码和编译器错误
- asp.net-core - 如何在用户存储中实现 AddToRoleAsync
- python - 创建两个列表的组合,直到一个列表中的值高于另一个?
- flutter - Flutter http 对象列表
- jquery - 未捕获的类型错误:$(...).collision 不是函数