passport js не работает successRedirect

При регистрации все хорошо, в консоли появляется массив с данными пользователя
Но при входе с правильными данными отказывается перенаправлять на нужную страницу.
Никак не могу найти решение проблемы, помогите пожалуйста)

main.js

const express = require("express");
const client = express()
const bcrypt = require('bcrypt')
const passport = require('passport')
const flash = require('express-flash')
const session = require('express-session')


const initializePassport = require('./passport-config')
initializePassport(
    passport,
    login => users.find(user => user.login === login),
    id => users.find(user => user.id === id),
)

const users = []  //local user

client.use(express.static(__dirname + '/style'));
client.use(express.static(__dirname + '/scripts'));
client.use(express.static(__dirname + '/img'));

client.set('view-engine', 'ejs')
client.use(express.urlencoded({ extended: false}))
client.use(flash())
client.use(session({
    secret: process.env.SESSION_SECRET,
    resave: false,
    saveUninitialized: false
}))

client.use(passport.initialize())
client.use(passport.session())

client.get('/', (req, res) => {
    res.render('index.ejs')
})

client.get('/main', (req, res) => {
  res.render('main.ejs')
})

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

client.post('/login', passport.authenticate('local', {
  successRedirect: '/main',
  failureRedirect: '/login',
  failureFlash: true
}))

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

client.post('/register', async (req, res) => {
  try {
    const hashedPassword = await bcrypt.hash(req.body.password, 10)
    const clubData = require('./clubData.json')
    users.push({
      id: Date.now().toString(),
      login: req.body.login,
      password: hashedPassword,
      email: req.body.email,
      tel: req.body.tel,
      clubID: clubData.clubID
    })
    res.redirect('/login')
  } catch {
    res.redirect('/register')
  }
  console.log(users)
})

client.listen(3000)

passport-config.js

const LocalStrategy = require('passport-local').Strategy
const bcrypt = require('bcrypt')

function initialize(passport, getUserByLogin, getUserById) {
const authenticateUser = async (login, password, done) => {
const user = getUserByLogin(login)
if (user == null) {
  return done(null, false, { message: 'Такого пользователя не существует' })
}

try {
  if (await bcrypt.compare(password, user.password)) {
    return done(null, user)
  } else {
    return done(null, false, { message: 'Неправильные логин и(или) пароль' })
  }
  } catch (e) {
  return done(e)
  }
  }

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

  module.exports = initialize

Ответы (0 шт):