Oauth2를 사용하여 카카오 로그인 연동 기능을 만들어 보자
카카오 개발자 센터에 들어간다.
https://developers.kakao.com/
내 애플리케이션을 생성한다
카카오 로그인 메뉴로 가서 redirect url을 등록하고 활성화를 시켜준다.
네이버에서 해봤으니 이제는 익숙하다.
동의항목 메뉴로 가서 필요한 항목을 체크하고 사유를 적당히 둘러댄다.
권한 없음으로 되어 있는거는 사업자 정보를 입력하고
비즈니스 설정을 해야 한다.
요청
https://kauth.kakao.com/oauth/authorize
?response_type=code
&client_id=CLIENTID
&redirect_uri=REDIRECTURL
응답
https://REDIRECTURL?code=CODE
요청
curl -v -X POST "https://kauth.kakao.com/oauth/token" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=authorization_code" \
-d "client_id=CLIENTID" \
-d "redirect_uri=REDIRECTURL" \
-d "code=CODE"
응답
{
"access_token": "ACCESSTOKEN",
"token_type": "bearer",
"refresh_token": "REFRESHTOKEN",
"expires_in": 21599,
"scope": "account_email profile_nickname",
"refresh_token_expires_in": 5183999
}
요청
GET /v2/user/me HTTP/1.1
Authorization: Bearer IhvO2jmaTwssGkJh739xghhibuU4VgOR-R_fc0joCiolTgAAAYa3CDav
Host: kapi.kakao.com
응답
{
"id": 1,
"connected_at": "2023-03-06T13:06:54Z",
"properties": {
"nickname": "닉네임"
},
"kakao_account": {
"profile_nickname_needs_agreement": false,
"profile": {
"nickname": "닉네임"
},
"has_email": true,
"email_needs_agreement": false,
"is_email_valid": true,
"is_email_verified": true,
"email": "myid@kakao.com"
}
}
이거도 마찬가지로 유저의 정보를 받아서
저장한다음
다음 로그인에 이메일 등록 여부를 판단하면 된다.