私はpassport/SQLを使って基本的なユーザー認証アプリケーションを構築しています。パスポートでモデルをシリアル化して次の要求に渡す際に問題があるようです。保存後にモデルがシリアライズされない
私のサインアップフォームに投稿し、ユーザーを保存して(SQLでチェックされ、確認済みの行にデータが挿入された)、モデルをパスポートに渡してシリアル化し、次のページで使用します。
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);
});
});
との約束を救うの内側に新しく保存されたユーザーに合格しているはずなので、これは多くの意味がありません、私は明らかに何かが足りないのですか?どんな助けもありがとう、ありがとう!
:あなたの
serializeUser()
のようなものに。しかし、他の属性はアクセスできないように見えました。 – Jeff