passport always takes me to failureRedirect

I am creating a login and user registration with Node.js.

the problem is that passport always takes me to failureRedirect and i dont know why

'use strict';

const express = require('express');
const User = require('../../models/User');
const { Router } = require('express');
const router = express.Router();
const passport = require('passport')


router.get('/', (req, res, next) => {
  res.render('index');
});


// GET /signup
router.get('/signup', (req, res, next) => {
  res.render('signup');
})


// POST /signup    
router.post('/signup', passport.authenticate('local-signup', {
  successRedirect: '/',
  failureRedirect: '/signup',
  passReqToCallback: true
})) 

// GET /login
router.get('/login', (req, res, next) => {
  res.render('login');
});

// POST /login
router.post('/login', passport.authenticate('local-login', {
  successRedirect: '/',
  failureRedirect: '/login', 
  passReqToCallback: true
}));


  module.exports = router;

This my app.js file

var createError = require('http-errors');
var express = require('express');
var cors = require('cors');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');
const passport = require('passport')
const session = require('express-session')
const flash = require('connect-flash')

// connection to the DB
require('./lib/connectMongoose');

// require passport
require('./passport/local-auth')

// connection to API
const usersApi = require('./routes/api/users')
const postsRouter = require('./routes/api/posts')
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'ejs');

app.use(cors());
app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
app.use(session({
  secret: 'mysecretsession',
  resave: false,
  saveUninitialized: false
}))

app.use(flash())
app.use(passport.initialize())
app.use(passport.session())
app.use((req, res, next)=> {
  app.locals.registerMessage = req.flash('signupMessage')
  app.locals.loginMessage = req.flash('loginMessage')
  next();
});

// API routes

app.use('/api/posts', postsRouter);

app.use('/api/users', usersApi);
app.use('/', require ('./routes/api/login'));

app.use('/', indexRouter);
app.use('/users', usersRouter);


// catch 404 and forward to error handler
app.use(function(req, res, next) {
  next(createError(404));
});

// error handler
app.use(function(err, req, res, next) {
  // set locals, only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

This is my passport file:

const passport = require('passport');
const localStrategy = require('passport-local').Strategy;
const User = require('../models/User')

//serialize user to save signup
passport.serializeUser((user, done) => {
    done(null, user.id)
});

//authenticate the id in the browser
passport.deserializeUser( async(id, done) => {
    const user = await User.findById(id)
    done(null, user)
});


// receive registration and validate it
passport.use('local-signup', new localStrategy({
    usernameField: 'username',
    emailField: 'email',
    passwordField: 'password',
    passReqToCallback: true
} , async (req, email, username, password, done) => {

    const user = await User.findOne({ email: email }, { username: username})
    if (user) {
        return done(null, false, req.flash('signupMessage', 'The email or username is already taken'))
    } else {
        const newUser = newUser();
        newUser.username = username;
        newUser.email = email;
        newUser.password = newUser.encryptPassword(password); 
        console.log(newUser)
        await newUser.save();
        done(null, newUser);
    }
}))




passport.use('local-login', new localStrategy({
    usernameField: 'email',
    passwordField: 'password',
    passReqToCallback: true
  }, async (req, email, password, done) => {
    const user = await User.findOne({email: email});
    if(!user) {
      return done(null, false, req.flash('loginMessage', 'No User Found'));
    }
    if(!user.comparePassword(password)) {
      return done(null, false, req.flash('loginMessage', 'Incorrect Password'));
    }
    return done(null, user);
  }));

What I need is that when doing the login it takes me to the home page of the application. Apparently I have some error and that’s why it takes me to the login page again but I don’t get the error….