Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

124
Vistas
Sending multiple post requests to same url using express.js

on my website I have a login form where the user inputs their information and when they submit a post request is made where their info is checked, and if it is valid I redirect them back to the login form where they then enter the code that was sent to their email. My question is when the post request is made the second time how would I use the same url but not have to go through the validating again.

Auth.js

//Login Route
router.post('/login', async(req, res) => {
    //Validate Data
    const { error } = loginValidation(req.body);

    if (error) {
        let msg = error.message;
        return res.cookie('loginError', msg, [{ httpOnly: true }]).redirect('/login');;

    }
    //Check if user exists
    const user = await User.findOne({ email: req.body.email });
    if (!user) {
        let msg = 'Email or password is invalid!'
        return res.cookie('loginError', msg, [{ httpOnly: true }]).redirect('/login');;
    }


    //Check if password is correct
    const validPass = await bcrypt.compare(req.body.password, user.password);
    if (!validPass) {
        let msg = 'Email or password is invalid!'
        return res.cookie('loginError', msg, [{ httpOnly: true }]).redirect('/login');;
    }

    const verificationCode = Math.floor(100000 + Math.random() * 900000);
    email.loginCode(req.body.email, verificationCode);
    return res.cookie('formComplete', 'true', [{ httpOnly: true }]).redirect('/login');
    //Create and assign a jwt
    const token = jwt.sign({ _id: user._id }, process.env.TOKEN_SECRET);
    res.header('auth-token', token).redirect('/dashboard');
});

Sorry if this is a dumb question, i'm new to express.js, if you need any more info let me know.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Actually, it's not really related to express.
You are asking about "state" in the server.

If you was to "refactor" your question, it could become "I have this user that's signed in, how to verify him before he visit any routes"

The solution can be several

  1. Add a global state. Let say isVerified = false, after verification for the first time, you set it to true
  2. As you see in my "refactor" question above, session is something you use to check user logged in or shopping cart...

I suggest you dig into both solutions above, for example for the first one, where to declare that global state? What if we need to check multiple users?

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda