سید محمد ریحانی
6 سال پیش توسط سید محمد ریحانی مطرح شد
0 پاسخ

serialize در passportjs

سلام دوستان
توی پایگاه داده برنامه ای که نوشتم هم User وجود داره و هم agent که مربوط به همون کاربر میشه
بخش اهراز هویت با passport پیاده سازی شده
میخوام وقتی کاربر لاگین میکنه از طریق req.user به کاربر دسترسی پیدا کنه و هم با req.agent به نمایندگی مربوط به اون کاربر
کدی هم که نوشتم اینطوریه:

passport.serializeUser((user, done) => {
    let agent = user.agent ? true : false;
    done(null, { id: user.id, agent });
});

passport.deserializeUser((data, done) => {
    if (data.agent) {
        User.findById(data.id, (err, user) => {
            if (err) done(err, user);
            Agent.findOne({ user: user.id }, (err, agent) => {
                done(err, user, agent);
            });
        });
    } else {
        User.findById(data.id, (err, user) => {
            done(err, user);
        });
    }
});

اما به user دسترسی دارم ولی به agent نه