2013-10-08 15 views
5

Kullanıcı kimlik doğrulaması için PassportJS yerel stratejisini kullanıyorum, tamamen çalışıyor. Ancak, kimliği doğrulanmış herhangi bir sayfada console.log (req.user) kullanmaya çalıştığımda, geçerli oturum açmış kullanıcının tüm DB giriş ayrıntılarını alıyorum. Bu normal mi ? Dahil Benim yerel strateji böyle tanımlanır ŞifreTüm kullanıcı verilerini gönderen PassportJS req.user

{ 
    name: 'Test', 
    email: '[email protected]', 
    password: '$2a$10$aw2aMtXtrmKHi.kd97c0NeMOu6Y0hlcM4xk2VuqfneLYdEkc676eq', 
    phone: 9xxxxx6, 
    _enabled: true, 
    _id: 5253f326003e55f028000001, 
    __v: 0 
} 

karma hale getirilir.

passport.use(new strategy(function(username, password, done) { 
User.findOne({ "email": username }, function(err, user) { 
    if (err) { return done(err); } 
    if (!user) { return done(null, false, { message: 'Unknown user ' + username }); } 
    if(user._enabled==false) return done(null,false,{message: "Dear "+user.name+", Please verify your email first!"}); 
    if(bcrypt.compareSync(password,user.password)){ 
    return done(null, user); 
    app.set("userEmail",username); 
    } 
    else { 
    return done(null, false, { message: 'Invalid password' }); 
    } 
db.close(); 
}) 
})); 

Bu verinin kurcalanması ihtimali var mıdır?

cevap

0

Okei Cevabı aldım, düzgün bir şekilde serpiştirmedim!

passport.deserializeUser(function(id, done) { 
    User.findOne({_id:id}, function (err, user) { 
    done(err, user._id); 
    }); 
}); 
İlgili konular