Я работаю над созданием базового приложения для аутентификации пользователя с паспортом/SQL, и, похоже, у паспорта возникают проблемы с сериализацией модели и ее передача на следующий запрос.Паспорт не сериализует модель после сохранения
После отправки в мою регистрационную форму и успешного сохранения пользователя (проверено в SQL и подтвержденная строка была вставлена с данными), я хочу передать модель в Passport для сериализации и использования на следующей странице.
passport.use('local-signup', new LocalStrategy({
usernameField : 'email',
passwordField : 'password',
passReqToCallback : true
},
function(req, email, password, done) {
process.nextTick(function() {
new User({
localEmail: email,
localPassword: User.generateHash(password)
}).save().then(function(model) {
return done(null, model);
});
});
}));
Он получает здесь, где он должен быть сериализации, но я бегу в ошибку Error: failed to serialize user into session
. Теперь это не делает много смысла, так как в теории, я прошел в недавно сохраненный пользователем внутри сохранить обещание с return done(null, model);
passport.serializeUser(function(user, done) {
done(null, user.localEmail);
});
passport.deserializeUser(function(email, done) {
new User({localEmail: email}).fetch().then(function(user) {
done(null, user);
});
});
Я пропускаю что-то очевидное? Любая помощь будет оценена, спасибо!
Это странно, потому что я все еще был в состоянии использовать 'user.id' и возвращает правильное число. Однако другие атрибуты были недоступны. – Jeff