Adicionando informações extras no objeto do usuário em passport.js ou em algum lugar da sessão
Eu quero adicionar chaves personalizadas no objeto de usuário que vem do mongodb e que vai ser usado pelo passport.js, mas eu me pergunto por que não posso adicionar mais chaves para esse objeto, aqui está o meu código.
passport.use(new LocalStrategy(
function(username, password, done) {
Users.model(false).findOne( {email:username,password:encodePassword(password) }, function(err, user) {
if( err ){ // validation failed
console.log('Error Occurred');
return done(err);
}
else if(user != null){
user['customKey'] = "customValue"; // it is not setting
console.log(user);
return done(null, user);
}
else {
return done(null, false, { message: 'Incorrect username.' });
}
});
}
));
///Session handling
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done) {
Users.model(false).findById(id, function(err, user) {
done(err, user);
});
});