Cannot login with Passport

So, I can’t like login so this is my code:

const express = require("express")
const app = express()
const bcrypt = require('bcrypt')
const passport = require('passport')
const flash = require('express-flash')
const session = require('express-session')
const mongoose = require('mongoose')
const User = require("./schema/userSchema")
const keys = require("./secret.json")
const bodyparser = require('body-parser')

app.use(bodyparser.urlencoded({ extended: false }))

mongoose.connect(keys.mongodb_key)
const initializePassport = require('./passport-config')

initializePassport(passport)

app.set('view-engine', 'ejs')
app.use(flash())
app.use(session({
    secret: keys.secret_key,
    resave: false,
    saveUninitialized: false
}))
app.use(passport.initialize())
app.use(passport.session())

app.get('/', checkAuthenticated, (req, res) => {
    res.render('index.ejs', {
        name: req.user.name
    })
})

app.get('/login', checkNotAuthenticated, (req, res) => {
    res.render('login.ejs')
})

app.get('/register', checkNotAuthenticated, (req, res) => {
    res.render('register.ejs')
})

app.post('/login', checkNotAuthenticated, passport.authenticate('local', {
    successRedirect: '/',
    failureRedirect: "/login",
    failureFlash: true,
}))

app.post('/register', checkNotAuthenticated, async (req, res) => {
    try {
        const hashedPassword = await bcrypt.hash(req.body.password, 10)
        const createdUser = await User.create({
            name: req.body.name,
            email: req.body.email,
            userId: Date.now().toString(),
            password: hashedPassword
        })
        res.redirect('/login')
        console.log(createdUser)
    } catch {
        res.redirect('/register')
    }
})

function checkAuthenticated(req, res, next) {
    if(req.isAuthenticated()) {
        return next()
    } 

    res.redirect('/login')
}

function checkNotAuthenticated(req, res, next) {
    if(!req.isAuthenticated()) {
        return next()
    } 

    res.redirect('/')
}

app.listen(8000)

So, I’ve seen a few topics about issues like this but i cant seem to solve it so i decided to create my own topic.

So, when ever i login it just redirect me back to /login without any error message
every user in the database is created through the register page and have a username and email

this is the code for passport-config.js too

const LocalStrategy = require("passport-local").Strategy
const bcrypt = require('bcrypt')
const mongoose = require('mongoose')
const User = require('./schema/userSchema')

function getUserByEmail(email) {
    try {
        return User.findOne({ email: email })
    } catch (err){
        console.log(err)
    }
}
function getUserById(id) {
    try {
        return User.findOne({ userId: id })
    } catch (err){
        console.log(err)
    }
}

function initialize(passport) {
    const authenticateUser = async (email, password, done) => {
        const user = await getUserByEmail(email)
        console.log(user)
        if (user == null) {
            return done(null, false, { message: 'Email or Password is incorrect' })
        }

        try {
            if (await bcrypt.compare(password, user.password)) {
                return done(null, user);
            } else {
                return done(null, false, { message: "Email or Password is incorrect" });
            }
        } catch (e) {
            return done(e)
        }
    }

    passport.use(new LocalStrategy({ usernameField: 'email' }, authenticateUser))
    passport.serializeUser((user, done) => done(null, user.id))
    passport.deserializeUser(async (id, done) => {
        return done(null, await getUserById(id))
    })
}

module.exports = initialize

there’s no error in the log and everything seems to be correct in the terminal

please help id greatly appreciate it