Failed to serialize user into session login google nodejs
-
Như tiêu đề help đã tìm trên google đã sửa theo nhưng không đăng nhập được
-
@Minh-Sang xem log newuser thế nào
-
@Minh-Sang Khả năng
newUser
chưa cóid
. Bạn đổi lại hàm 1serializeUser1 bằng đoạn code sau xem ok không?passport.serializeUser(function (user, done) { done(null, user.phone); })
Bạn cũng nên ghi đầy đủ thông tin về log để mọi người có nhiều thông tin giúp bạn hơn !
-
-
Sữa serialize thành
passport.serializeUser(function (user, done) { done(null, user._id); })
-
@Kha-Pham
h no bi ntn bác ơi
-
@Kha-Pham fix mấy ngày này không dk nãn quá
-
@Minh-Sang sữa deserializeUser cho phù hộp
passport.deserializeUser(function (_id, done) { User.findOne({ _id: _id }, function (err, user) { done(err, user); }); });
-
@Kha-Pham nó vẫn bị lỗi đó bạn ơi
-
passport.serializeUser(function (user, done) { console.log(user); done(null, user._id); })
xem nó in ra cái gì bạn
-
@Kha-Pham
lúc click vào nút login là nó callback về lỗi 500 rồi. Chat messdi bạn
-
@Minh-Sang mình bân nên ko chat được. bạn xem log server báo lỗi gì
-
@Kha-Pham no không chạy tới đó luôn vừa login là trả về 500
-
callback là nó xác nhận được giá trị trả về của thằng google rồi. và nó tiến hành serializeUser
Bạn tham khảo code của mình xem saorouter.get('/auth/facebook', passport.authenticate('facebook', { authType: 'rerequest', scope: ['email'], profile: ['photos', 'gender', 'profileUrl', 'displayName', 'username'] })); router.get('/auth/facebook/callback',function(req, res, next){ var url = require('url').parse(req.headers.referer, true) passport.authenticate('facebook', function(err, user, info){ if(err){ return next(err); } req.logIn(user, function (err) { if (err) { return next(err); } else { req.session.token = info.token; return res.redirect(url.query.ref); } }); })(req, res, next); } );
-
@Minh-Sang bạn thử cách mình chỉ chưa?
Dùng trường
phone
làm id theo như cách bạn đang làm.Tương ứng hàm deserializeUser, tìm kiếm theo phone:
passport.deserializeUser(function (phone, done) { User.findOne({ phone: phone }, function (err, user) { done(err, user); }); });
Chú ý cách bạn chọn id là phải thống nhất từ bước cấu hình
GoogleStrategy
,serializeUser
vàdeserializeUser
. Chứ mình thấy bạn đang lung tung chỗ này.
-