5

なんとかpassport.jsでログインできました

    app.post('/login', passport.authenticate('local'), function(req, res) {
        res.cookie('username', req.user.username);
        res.redirect('/');
    });

しかしその後、私のセッションは失われたようです。

    app.post('/user/favorites', function(req, res) {
    // `req.user` contains the authenticated user.

    console.log(req.user); // Undefined
    if(req.isAuthenticated()) { // false
        console.log('HI');
    }
});
4

2 に答える 2

0

ドキュメントに記載されている指示に従っていますか、試してください(まだ行っていない場合)

passport.serializeUser(function(user, done) {
    done(null, user);
});
passport.deserializeUser(function(user, done) {
    done(null, user);
});
于 2013-10-15T06:47:24.597 に答える
0

ユーザー Cookie を手動で設定する代わりに、passport に設定させます

req.logIn(user, function(err) {
  if (err) { return next(err); }
  return res.redirect('/users/' + user.username);
});

cookie 行をこれに置き換えます。

ソース: http://passportjs.org/guide/authenticate/ (カスタム コールバック セクションを参照)

于 2013-10-13T16:26:08.093 に答える