I am just experiencing in node.js and feeling a bit confused. I want to display username to all pages when it is logged in. I can get user id using jsonwebtoken. I am using MySQL. Here is my route
const express = require('express');
const router = express.Router();
const { requireAuth, checkUser } = require('../middleware/authMiddleware');
router.get('*', checkUser);
router.get('/', (req, res) => {
res.render('index');
});
I wrote middleware code here
const checkUser = (req, res, next)=>{
const token = req.cookies.jwt;
if(token){
jwt.verify(token, process.env.JWT_SECRET, async (err, decodedToken)=>{
if(err){
console.log(err.message);
res.locals.user = null;
next();
}
else{
res.locals.user = WHAT SHOULD I ASSIGN HERE;
next();
}
})
}
else{
res.locals.user = null;
next();
}
}
module.exports = { checkUser};
I should assign username to res.locals.user right? How to get it?