Page 416 - Nodejs 교과서 개정2판
P. 416

ف ߣ૩ ۽Ӓੋࠗఠח ۽Ӓੋ ୊ܻܳ ೧ঠ ೤פ׮  ٮۄࢲ 4/4 ۽Ӓੋ ੹ۚ਷ ۽ஸ ۽Ӓੋ ੹ۚࠁ׮ ׮ࣗ ࠂ੟

         ೤פ׮

          passport/kakaoStrategy.js
           const	passport	=	require('passport');
           const	KakaoStrategy	=	require('passport-kakao').Strategy;


           const	User	=	require('../models/user');


           module.exports	=	()	=>	{
           ➊

           		passport.use(new	KakaoStrategy({
           				clientID:	process.env.KAKAO_ID,
           				callbackURL:	'/auth/kakao/callback',
           ➋
           		},	async	(accessToken,	refreshToken,	profile,	done)	=>	{
           				console.log('kakao	profile',	profile);
           				try	{
           						const	exUser	=	await	User.findOne({
           								where:	{	snsId:	profile.id,	provider:	'kakao'	},
           						});
           						if	(exUser)	{
           								done(null,	exUser);
           ➌

           						}	else	{
           								const	newUser	=	await	User.create({
           										email:	profile._json	&&	profile._json.kakao_account_email,
           										nick:	profile.displayName,
           										snsId:	profile.id,
           										provider:	'kakao',
           								});
           								done(null,	newUser);
           						}
           				}	catch	(error)	{
           						console.error(error);
           						done(error);
           				}
           		}));
           };




         QBTTQPSU LBLBP ݽٕ۽ࠗఠ Strategy ࢤࢿ੗ܳ ࠛ۞৬ ੹ۚਸ ҳഅ೤פ׮

         ➊ ۽ஸ ۽Ӓੋҗ ݃ଲо૑۽ ஠஠য় ۽Ӓੋী ؀ೠ ࢸ੿ਸ ೤פ׮  clientIDח ஠஠য়ীࢲ ߊә೧઱ח ই੉٣
   411   412   413   414   415   416   417   418   419   420   421