passport-kakao

카카오를 통한 로그인

한국에선 카카오톡을 사용하는 사용자가 매우 많습니다. 한국에서 서비스하는 페이지들은 카카오를 통한 로그인을 사용하면 사용자가 쉽게 가입이 가능 할 것입니다.

kakao 설정


KAKAO Developers경로를 이동하여 로그인 후 앱 만들기를 누릅니다.

생성하길 원하는 프로젝트의 이름을 지정 후 앱 만들기를 선택합니다.

플랫폼 추가버튼을 누른 후 원하는 플랫폼을 선택합니다.(웹, Android, ios가 있습니다.)

사이트 도메인에는 홈페이지의 주소를 입력하고 Redirect Path에는 callback될 주소를 입력합니다.

보안 강화를 위해 Client Secret을 발행 받을 수 있습니다. 상태부분을 활성화 해주면됩니다.

사용자 관리에서 사용을 활성화 하게 되면 서비스에 필요 정보 수집에 대한 정보를 선택 할 수 있습니다.

설치 및 사용 방법

1
npm install passport-kakao

위 코드를 터미널에 작성하여 passport-kakao을 설치한다.

1
const KakaoStrategy = require('passport-kakao').Strategy

설치한 모듈을 require 시켜줍니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
passport.use(new KakaoStrategy({
clientID: process.env.KAKAO_CLIENT_ID,
clientSecret: process.env.KAKAO_CLIENT_SECRET,
callbackURL: process.env.KAKAO_CALLBACK_URL
},(accessToken, refreshToken, profile, done) => {
const profile_photo = profile._json.properties.profile_image? profile._json.properties.profile_image : null
query.firstOrCreateUserByProvider(
'kakao',
profile.id,
accessToken,
profile_photo
).then(user => {
done(null, user)
}).catch(err => {
done(err)
})
}))
router.get('/kakao', passport.authenticate('kakao'))
router.get('/kakao/callback', passport.authenticate('kakao', {
successRedirect: '/',
failureRedirect: '/login',
failureFlash: true
}))

clientID는 카카오에서 만들어 주는 고유 id입니다.
clientSecret는 카카오의 설정 secret입니다.
callbackURL는 로그인 후 콜백 주소입니다. 콜백에서 로그인 성공 후와 실패 후의 경로를 옵션으로 선택 가능합니다.
accessToken은 카카오에서 생성하는 사용자의 고유 토큰입니다.
avatar_url은 카카오에서 기본 제공하는 프로필 사진을 담는 변수입니다. (변수 뒤 값은 카카오 응답의 경로입니다.)

공유하기