Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

340
Visualizações
retrieve user's data after signing in using express and JWT

I'm new to node.js and express, I've implemented signing in and verification functionality using JWT cookies, how after verifying the user is signed in I can retrieve his username to use in other pages?

This is my auth.js file where I have the login and verify functions:

const bcrypt = require('bcrypt');
const UserDB = require('../models/UserModel');
const jwt = require('jsonwebtoken');

exports.login = function(req,res,next){

    let username = req.body.username;
    let password = req.body.password;

    UserDB.lookup(username,function(err,user){
        if(err){
            console.log("error looking up user",err);
            return res.status(401).send();
        }
        if(!user){
            console.log("user "+username+" not found");
            return res.status(401).send();
        }

        bcrypt.compare(password,user.password,function(err,result){
            if(result){
                console.log("confirm")
                let payload = {username:username};
                let accessToken = jwt.sign(payload,process.env.ACCESS_TOKEN_SECRET,{expiresIn: 120});
                res.cookie("jwt",accessToken);
                next();
            }
            else
            { 
                return res.status(403).send();
            }
        });
    });
};

exports.verify = function(req,res,next){
    let accessToken = req.cookies.jwt;
    if(!accessToken){
        return res.status(403).send();
    }
    let payload;
    try{
        payload = jwt.verify(accessToken, process.env.ACCESS_TOKEN_SECRET);
        next();
    }
    catch(e){
        console.log("Not authorized")
        res.status(401).send();
    }
};

I've read that I can add it in the verification function but I don't know how, I want to use it as follows:

exports.admin_panel = function(req,res){
  res.render('adminpanel',{
    'user': //add the username 
  })
}
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

change verify() function like this:

exports.verify = function(req,res,next){
    let accessToken = req.cookies.jwt;
    if(!accessToken){
        return res.status(403).send();
    }
    
    
    let payload = jwt.verify(accessToken, process.env.ACCESS_TOKEN_SECRET);

    if(!payload){
    console.log("Not authorized")
    res.status(401).send();
    }

    req.user = payload.username
    next();
};
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda