Page 413 - Nodejs 교과서 개정2판
P. 413
if (!user) {
return res.redirect(`/?loginError=${info.message}`);
}
return req.login(user, (loginError) => {
if (loginError) {
console.error(loginError);
return next(loginError);
}
return res.redirect('/');
});
})(req, res, next); // 미들웨어 내의 미들웨어에는 (req, res, next)를 붙입니다.
});
➌
router.get('/logout', isLoggedIn, (req, res) => {
req.logout();
req.session.destroy();
res.redirect('/');
});
module.exports = router;
աী BQQ KT৬ োѾೡ ٸ BVUI فࢎܳ ࠢੌ Ѫ۽ ۄఠ ࣗח пп BVUI KPJO BVUI MPHJO B
VUI MPHPVU ؾפ
➊ ഥਗоੑ ۄఠੑפ ӝઓী э ݫੌ۽ оੑೠ ࢎਊо ח ઑഥೠ ٍ ݶ ഥਗоੑ ಕ۽
غج۰ࠁշפ ױ ࣗ ٍী ী۞ܳ ௪ܻझ݂ਵ۽ दפ э ݫੌ۽ оੑೠ ࢎਊо হݶ ࠺
ߣഐܳ ঐഐചೞҊ ࢎਊ ࠁܳ ࢤࢿפ
ഥਗоੑ द ࠺ߣഐח ঐഐച೧ࢲ ೧ঠ פ ߣীח CDSZQU ݽٕਸ ࢎਊ೮णפ DSZQUP ݽٕ
pbkdf2 ݫࢲ٘ܳ ࢎਊ೧ࢲ ঐഐചೡ ࣻب णפ CDSZQU ݽٕ hash ݫࢲ٘ܳ ࢎਊೞݶ ࣚऔѱ ࠺ߣ
ഐܳ ঐഐചೡ ࣻ णפ CDSZQU ف ߣ૩ ੋࣻח pbkdf2 ߈ࠂ പࣻ৬ ࠺तೠ ӝמਸ פ ंо
ழࣻ۾ ࠺ߣഐܳ ঌইղӝ য۰ਕ݅ ঐഐച दрب য়ې Ѧ݀פ ࢚ਸ ୶ୌೞݴ ө ࢎ
ਊೡ ࣻ णפ ۽झܳ ਗೞח ೣࣻ۽ awaitਸ ࢎਊ೮णפ
➋ ۽Ӓੋ ۄఠੑפ ۽Ӓੋ ਃ ٜযয়ݶ passport.authenticate('local') ٜਝযо ۽ஸ ۽Ӓੋ
ۚਸ ࣻ೯פ ٜਝযੋؘ ۄఠ ٜਝয উী ٜয णפ ٜਝযী ࢎਊ ӝמਸ ୶о
ೞҊ रਸ ٸ ۧѱ ೡ ࣻ णפ ۡ ٸח ղࠗ ٜਝযী req res next ܳ ੋࣻ۽ ઁҕ೧ࢲ ഐೞ
ݶ ؾפ
ۚ ٘ח ਫ਼द റী ࢿפ ۚ ࢿҕೞѢա पಁೞݶ authenticate ݫࢲ٘ ߔ ೣࣻо प೯ؾ
פ ߔ ೣࣻ ߣ૩ ݒѐ߸ࣻ BVUI&SS ч ݶ पಁೠ Ѫੑפ ف ߣ૩ ݒѐ߸ࣻ ч ݶ
ࢿҕೠ ѪҊ req.login ݫࢲ٘ܳ ഐפ 1BTTQPSUח req ёী loginҗ MPHPVU ݫࢲ٘ܳ ୶оפ
req.login passport.serializeUserܳ ഐפ req.loginী ઁҕೞח user ёо serializeUs