Не удается прочитать свойство 'header' недоопределенного при создании модуля проверки jwt - PullRequest
0 голосов
/ 15 марта 2020

Я следил за этим видео, чтобы создать аутентификацию jwt. https://youtu.be/2jqok-WgelI?t=4284

Произошла ошибка при попытке использовать модуль verifyToken, например видео, в формате 1: 11: 00

TypeError: Cannot read property ' header 'of undefined

Вот мой код

verifyToken. js

const jwt = require('jsonwebtoken');

module.exports = function(req,res,next) {
    const token=req.header('auth-token');
    if(!token) return res.status(401).send('Access denied');
    try{
        const verified = jwt.verify(token,process.env.JWT_SECRET);
        req.user = verified;
        next();
    }catch (err) {
        res.status(400).send('Wrong token');
    }
};

index. js

const router = require('express').Router();
const info = require('../public/info');
const verify = require('./verifyToken');

//render main page
router.get("/",function (req,res) {
    res.render('index',{
        title:info.title[0],
        content:info.news
    });
});
//try to use verifyToken module here
router.get("/create",verify(),function (req,res,next) {
    res.render('index',{
        title:info.title[1],
        content:info.create
    });
});
//render about page
router.get("/about",function (req,res) {
    res.render('index',{
        title:info.title[2],
        content:info.info
    });
});
//render sign up page
router.get("/signup",function (req,res) {
    res.render('register');
});
//render login page
router.get("/login",function (req,res) {
    res.render('login');
});


module.exports=router;

1 Ответ

1 голос
/ 15 марта 2020

не могли бы вы попытаться добавить указатель обратного вызова функции verify, т.е. Without () к параметрам метода get маршрутизатора, как в видео:

   router.get("/create", verify ,function (req,res,next) {
       res.render('index',{
          title:info.title[1],
          content:info.create
       });
   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...