
소셜로그인으로 연동시키는법입니다.
passport-naver
npm install passport --save
npm install passport-naver --save
app.js
var naver_info = require('./config/naver_info').naver;
var passport = require('passport');
var NaverStrategy = require('passport-naver').Strategy;
passport.serializeUser(function(user, done) {
done(null, user);
});
passport.deserializeUser(function(obj, done) {
req.session.sid = user.name;
console.log("Session Check :" +req.session.sid);
done(null, obj);
});
passport.use(new NaverStrategy({
clientID: naver_info.client_id,
clientSecret: naver_info.client_secret,
callbackURL: naver_info.callback_url,
}, function(accessToken, refreshToken, profile, done) {
process.nextTick(function () {
//console.log("profile=");
//console.log(profile);
// data to be saved in DB
user = {
name: profile.displayName,
email: profile.emails[0].value,
username: profile.displayName,
provider: 'naver',
naver: profile._json
};
//console.log("user=");
//console.log(user);
return done(null, profile);
});
}));
app.get('/login/naver',
passport.authenticate('naver')
);
app.get('/login/naver/callback',
passport.authenticate('naver', {
successRedirect: "/main",
failureRedirect: '/'
})
);
네이버에서 키를 받아줍시다.
developers.naver.com/apps/#/register?api=nvlogin

naver_info.js
module.exports = {
naver : {
client_id : 'id값',
client_secret : '시크릿값',
callback_url : '지정한url',
},
}
login.ejs
<a href="/login/naver">네이버 계정으로 로그인</a>
결과화면


'Programing > node js' 카테고리의 다른 글
| node js async 모듈 (0) | 2021.02.17 |
|---|---|
| node js panolens.js 360이미지 (0) | 2021.01.14 |
| node js mysql 연동 암호화 로그인 (0) | 2021.01.11 |
| node js request response 요청 응답 객체 (0) | 2021.01.06 |
| node js Express Router 관리, 분리 (0) | 2021.01.06 |