카카오 로그인 API - 액세스 토큰 발급, 사용자 정보 받아오기

2021. 2. 2. 18:13API

반응형

카카오 로그인을 이용하는 서비스를 만드는 중이다.

카카오 로그인시에 액세스토큰이 발급되고 그 토큰에 사용자에 대한 정보가 담겨있고 그 토큰에서 필요한 정보를 뽑아 사용한다. 

 

 

카카오 로그인을 사용하려면 액세스토큰발급부터 진행해야하는데 클라이언트와 함께 작업한다면 액세스토큰발급은 클라이언트쪽의 임무이다. 서버는 클라이언트쪽에서 보내준 액세스토큰으로 사용자인지 확인하고 로그인 혹은 회원가입을 진행시키고 필요한 정보를 뽑아 디비에 저장한다. 

 

 

하지만 테스트할 때 매번 클라이언트에게 토큰을 요청하기가 번거로워 간단하게 액세스토큰발급을 할 수 있는 방법을 찾아봤고 아래의 방법을 이용해 토큰을 발급받았다. 

 

 

1. 카카오 개발자센터에서 애플리케이션을 등록한다. 

developers.kakao.com/console/app

+ 동의항목 설정해야한다. 

 

2. redirect URI을 설정한다. 

 

 

 

3. 인증코드 받기 

 

아래의 url로 접속시도하여 로그인 요청

https://kauth.kakao.com/oauth/authorize?client_id={REST_API 앱키를 입력하세요}&response_type=code&redirect_uri={redirectURI를 입력하세요}

크롬 시크릿모드창에서 수행하기를 권장(로그인된 세션이 유효하면 로그인요청을 하지않음)

 

code 뒷부분이 인증코드! 

 

 

 

4. 사용자토큰받기 

참고 사이트가 파이썬 코드를 사용했는데 나도 파이썬 즐겨쓰기도 하고 코랩으로 하면 접근성도 뛰어나기에 여기서 발급받기로 했다. 

import requests
import json

url = "https://kauth.kakao.com/oauth/token"

data = {
    "grant_type" : "authorization_code",
    "client_id" : "Rest API 키",
    "redirect_uri" : "http://127.0.0.1:9000/kakaocallback",
    "code"         : 'SVBIOeu9awf-r8nF2gsOfB0sVSjVVyV6htmIVnJjnelaXb0ROL6wfNxJBdHW4BCjG5etiQopb1UAAAF3YfB5Zw'
}
response = requests.post(url, data=data)

tokens = response.json()

print(tokens)

 

결과 

{'access_token': 'oV6_Hn5-m6HLdnC5dLmUHOaCPb5Arp8MAfjWoAorDKcAAAF3YfGgCw', 'token_type': 'bearer', 'refresh_token': 'KSyFqrA7J2v8jGX4cn_urzZs7bT8BB_rN_7fYAorDKcAAAF3YfGgCg', 'expires_in': 21599, 'scope': 'account_email profile', 'refresh_token_expires_in': 5183999}

 

 

여기서 주의할 점!!!!

3번에서 발급받은 인증코드는 단1번의 기회만 주어진다고한다. 

실패하거나 재실행해야할경우 다시 3번으로 돌아가야한다

즉 동일한 인증 코드로 2번이상 '4. 사용자토큰받기'를 수행하지 않도록해야한다. 

 

여기서 액세스토큰을 복붙해서 로그인 api에 이용하장!

 

5. 사용자 정보 받아오기 

 

[Spring] 카카오 로그인 연동 구현하기(REST API) [4]

카카오 로그인 구현 REST API 3) 사용자 정보 요청 토큰을 얻었다면 이젠 사용자의 정보를 요청하여 가져올 수 있습니다. v1 API에서 v2 API로 업데이트가 되었기때문에 v2기준으로 작성하겠습니다.

winterandsnow.tistory.com

 

 

[Kakao Login API] 카카오 계정의 유저 정보 받아오기 및 마무리 (Spring Boot 환경에서 카카오 로그인 API

2019/03/22 - [OAuth/Kakao Login API] - [Kakao Login API] 카카오 로그인 API 서비스 구현 (Spring Boot 환경에서 카카오 로그인 API RESTful방식으로 연동하기 -3장) 2019/03/22 - [OAuth/Kakao Login API] - [..

antdev.tistory.com

 

Kakao DevTalk

카카오 데브톡. 카카오 플랫폼 서비스 관련 질문 및 답변을 올리는 개발자 커뮤니티 사이트입니다.

devtalk.kakao.com

<참고>

 

카카오 사용자 토큰 발급 (2020/04 변경사항 update)

2020년 4월부터 kakao developers 사이트가 전면 개편되었습니다. 기존에 access token을 제공해주었는데요, 현재는 인증을 거쳐 code / access_token / refresh token 을 발급받도록 변경되었습니다. 또한 기존..

ai-creator.tistory.com

 

 

반응형