2013-06-19 3 views
0

У меня есть система аутентификации с помощью паспорта, я не знаю, почему, но «не определено» значение, которое она возвращает, кто-то может мне помочь, вот мой код ниже:Моя система аутентификации возвращает неопределенное

app.js

passport.use(new LocalStrategy(function (username, password, done) { 
    Person.findOne({ 'account.username' : username }, function (err, person) { 

    if (err) { 
    return done(err); 
    } 

    if (!profile) { 
    return done(null, false, { message: 'Invalid username or password' }); 
    } 

    // My self defined function that encrypts the password 
    var encryptedPassword = myFunc.encrypt(password); 

    if (person.account.password !== encryptedPassword) { 
    return done(null, false, { message: 'Invalid username or password' }); 
    } else { 
    return done(null, profile); 
    } 

    }); 
})); 

person.js

//POST: /login 
app.post('/login', passport.authenticate('local', {failureRedirect: '/login', 
    failureFlash: true}), 
    function (req, res) { 
     console.log(req.profile); 
     res.redirect('/home'); 
    } 
); 

//GET: /home 
app.get('/home', function (req, res) { 
    console.log(req.profile); // Returns Undefined 
}); 

Это также происходит, когда я отобразить страницу, которая имеет переменную req.profile.

+0

ли первый маршрут ('POST/login') на самом деле что-то для входа' req.profile'? Паспорт будет заполнять 'req.user', если активен сеанс регистрации, но не' req.profile'. – robertklep

+0

спасибо, человек, я получил его работу, большое спасибо –

ответ

0

Использование req.user вместо req.profile

Смежные вопросы