이번에는 인증 코드는 받고 확인하는 방법부터 알아보겠습니다. 그러면 파이썬으로 접속이 가능하게 되는 첫 단추를 완성하게 됩니다. 조금만 더 힘내시고 설정 방법을 확인해 보겠습니다.
카카오 로그인 과정에서 3가지 단계를 거쳐야 자동으로 로그인을 할 수 있습니다.
먼저, 1) 인가 코드를 받고, -> 2) 토큰 받기, -> 3) 사용자 로그인 처리가 됩니다.
그래서 REST API를 이용하여 인가 코드를 받고, 토큰 받기까지 알아보도록 하겠습니다.
1. REST API 이동과 인증 코드 받기
카카오 개발자 웹페이지에서 위쪽에 있는 문서 메뉴를 선택
아래쪽으로 이동하면 카카오 로그인 메뉴 중 REST API 메뉴를 선택
다음 [Ctrl + F] 키를 누르고 "GET"를 검색하여 아래 내용을 찾음.
아니면 아래 링크로 바로 접속
위 정보를 참고하면 아래와 같은 주소를 만들 수 있음.
https://kauth.kakao.com/oauth/authorize?client_id=${REST_API_KEY}&redirect_uri=${REDIRECT_URI}&response_type=code
위 만들 수 있는 주소 안에 있는 REST_API_KEY와 REDIRECT_URI는 아래 링크에서 설정한 값을 대입하여 새로운 주소를 만듭니다.
예를 들어 (중요한 부분)
REST_API_KEY : 12345 AAA
REDIRECT_URI : https://example.com/oauth
이라면
https://kauth.kakao.com/oauth/authorize?client_id=12345AAA&redirect_uri=https://example.com/oauth&response_type=code
주소를 만들 수 있습니다.
이렇게 주소 창에 위 만든 주소를 기입하고 엔터치고 들어가면 카카오 연결 페이지가 열립니다.
로그인하고 들어가면 아래의 문구가 나오면 확인 된 것입니다.
아래 주소창에 나온 인증 코드를 따로 저장하여 토큰 받기에 사용해야 하니, 꼭 따로 저장해 둘 것!! (step 2 code)
** 이전 REST API와 REDIRECT_URI 만드는 방법을 모를 땐 아래의 링크에서 확인
** 에러가 날 경우 참고할 내용
2. 사용자 토큰 받기
import requests
import json
url = 'https://kauth.kakao.com/oauth/token'
rest_api_key = '자신의 REST API 키'
redirect_uri = 'https://example.com/oauth'
authorize_code = '카카오톡 로그인 후 받은 인증 코드 넣음'
data = {
'grant_type':'authorization_code',
'client_id':rest_api_key,
'redirect_uri':redirect_uri,
'code': authorize_code,
}
response = requests.post(url, data=data)
tokens = response.json()
print(tokens)
#1.
with open("C:\Users\user\Desktop\PythonWorkspace\kakao_test\kakao_code.json","w") as fp:
json.dump(tokens, fp)
#2.
with open("kakao_code.json","w") as fp:
json.dump(tokens, fp)
아래의 with #1, #2는 자신의 컴의 주피터 실행 폴더의 주소를 알 경우 #1을 이용하고 모른다면 #2을 사용할 것.
꼭 둘 중 하나만 사용해야 함!!
여기까지 정상적으로 실행이 되면 완료 된 것입니다.
그리고 토큰도 마지막 with 구문에서 저장을 하는 것이기 때문에 나중에도 계속 사용할 수 있습니다.
댓글