问题描述
我想弄清楚为什么这个代码:
const extractJWT = (req: Request,res: Response,next: NextFunction) => {
logging.info(NAMESPACE,"Validating Token");
let token = req.headers.authorization?.split(" ")[1];
if (token) {
jwt.verify(token,config.server.token.secret,(error,decoded) => {
if (error) {
return res.status(404).json({
message: error.message,error,});
} else {
res.locals.jwt = decoded;
next();
}
});
} else {
return res.status(401).json({
message: "Unauthorized",});
}
};
export default extractJWT;
抛出这个错误:
TSError: ⨯ Unable to compile TypeScript
src/middleware/extractJWT.ts (11,43): Expression expected. (1109)
src/middleware/extractJWT.ts (11,57): ':' expected. (1005)
我正在尝试在控制器上将 extractJwt 函数作为中间件运行。我在操作上使用 routing-controller @UseBefore 装饰器。没有装饰器,我就不会收到错误消息。有了它,我愿意。我不知道它是如何突然改变的。我很感激这里的任何帮助。
@Get("/validate")
@UseBefore(extractJWT)
async validate(@Req() req: Request,@Res() res: Response,next: NextFunction) {
logging.info(NAMESPACE,"Token Validated");
return res.status(200).json({
message: "Authorized",});
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)