Redirecting in Node.Js

21 views Asked by At

The page is not redirecting after successful or unsuccessful login. I am using MVC architecture using express generator. Here is my code:

exports.log_in_get = asyncHandler((req, res, next) => {
    res.render('log_in_form', { title: 'Log in' });
});

exports.log_in_post = passport.authenticate("local", {
    successRedirect: "/",
    failureRedirect: "/users/login",
    failureMessage: true
});

I have properly setup passport in my app.js file and have also correctly defined routes(users.js):

var express = require('express');
var router = express.Router();
const user_controller = require('../controllers/userController');

router.get('/login', user_controller.log_in_get);
router.post('/login', user_controller.log_in_post);

and finally here is my view template log_in_form.jade:

extends layout 

block content 
  h2= title 
  div
    form(method='POST' action="")
      div
        label(for='username') Username: 
        input#username(type='text' name='username')
      div
        label(for='password') Password: 
        input#password(type='password' name='password')
      input(type='submit' value='Login')

  if errors
    hr
    ul
      each error in errors
        li!= error.msg

I want to redirect to the root URL after successfully logging in and re render the the log in page if the log in is unsuccessful. I cannot seem to figure out what I am missing so a help would be appreciated.

0

There are 0 answers