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
   408   409   410   411   412   413   414   415   416   417   418