Error: Cannot read property ‘user’ of null when calling passport.serializeUser

so I have the next in my passport.js file:

const passport = require('passport');
const LocalStrategy = require('passport-local').Strategy;
var connection = require('./database');
const User = require('./models/user');

const verifyCallback = (username, password, done) => {

  User.findUser(username).then((user) => {
    if(!user)
      return done(null, false);

    const isValid = User.validPassword(password, user[0].password).then((isValid)=>{

      if(isValid)
        return done(null, user);
      else
        return done(null, false);

    })
  })
  .catch((err) =>{
    done(err);
  });
};

const strategy = new LocalStrategy(verifyCallback);

passport.use(strategy);

passport.serializeUser((user, done) => {
  console.log(user + "n" + user.id);
  done(null. user.id);
});

passport.deserializeUser((userId, done) => {
  User.findById(userId)
    .then((user) =>{
        done(null, user)
    })
    .catch(err => done(err));
})

Everything works fine until the function passport.serializeUser which return the error Cannot read property 'user' of null
I don’t know where is the user param coming from, I was following a tutorial but the guy didn’t explained. How should I solve that error?

Go to Source
Author: Alex UnLimited