홈페이지에 들어가 로그인을 한 후 내 어플리케이션을 등록한다.
만든 애플리케이션을 클릭한 후 목록에 들어가 플랫폼을 클릭한다.
카카오 로그인에 들어가 활성화를 해준다. 그리고 밑에 있는 Redirect URI를 수정해준다.
다음은 동의 항목에 들어가서 받을 것들을 선택하면 된다.
사용법은 목록에 있던 앱키에 들어가 Rest_API 키를 복사해 .env 파일에 KAKAO_ID=Rest_API_key
이렇식으로 추가해주면 된다.
pastposs/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) => { // QAUTH2 공부하면 됨
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);
}
}));
};
auth.js에 아래 코드를 추가해주면 된다.
// 카카오 로그인 하기
router.get('/kakao', passport.authenticate('kakao'));
// 공백이 어떻게 진행 되는지 확인해보자
router.get('/kakao/callback', passport.authenticate('kakao', {
failureRedirect: '/',
}), (req, res) => {
res.redirect('/');
});
'Node.js' 카테고리의 다른 글
Node에서 API 서버 만들기 (0) | 2021.01.08 |
---|---|
multer 사용해서 이미지 업로드 구현 (0) | 2021.01.06 |
패스포트 사용하기 (로그인 과정 helper) (0) | 2021.01.05 |
Nodejs 데이터 베이스 셋팅하기 (0) | 2021.01.05 |
프로젝트 구조 갖추기 (0) | 2021.01.03 |