사용자 토큰 받기(1)
- 이전 토픽에서 'code' 값을 얻어왔습니다.
- 카카오 문서를 보면 이 값을 이용하여 'Access_token'과 'Refresh_token'을 얻어올 수 있다고 합니다.
- 우리는 'Refresh_token'을 이용하지 않을 것이므로 'Refresh Token'을 얻어오는 과정에 대해서는 설명하지 않도록 하겠습니다.
- 이번 토픽에서는 'Access_token'을 얻어와 보도록 하겠습니다.
- 맨 밑에 보면 curl로 요청할 수 있는 예시가 나와있습니다.
- 이를 이용하여 'access_token'을 얻어보도록 하겠습니다.
cURL
- [카카오 개발환경 구성] 토픽에서 Git Bash에는 기본적으로 cURL이 설치가 되어있다고 말씀드린 적이 있었으므로 [Git Bash]를 실행합니다.
- 다시 한번 말씀드리면 cURL이란 커맨드 명령으로 URL에 요청을 할 수 있는 툴입니다.
- cURL이란? https://ko.wikipedia.org/wiki/CURL
- cURL을 실습해보기 전에 간단한 테스트를 해보기 위해 다음 사이트에 접속하여 봅시다.
- https://jsonplaceholder.typicode.com/
- 스크롤을 내려서 [Resources]에 [/posts]를 클릭합니다.
- 다음과 같이 post로 요청했을 시 받을 수 있는 json 값들이 있습니다.
- 주소를 복사하고 [Git Bash]에 다음과 같이 입력합니다.
curl https://jsonplaceholder.typicode.com/posts
- 이와 같이 100개의 json 데이터를 얻은 것을 볼 수 있습니다.
- 이처럼 curl은 'curl'이라는 명령어와 여러 옵션 등을 사용하여 사이트에 요청하면 데이터 값을 불러올 수 있도록 해줍니다.
curl로 'access_token' 얻기
- 따라서 curl로 'access_token'을 얻어보도록 하겠습니다.
- 메모장을 켜고 아래의 명령어를 복사하여 붙여넣습니다.
- 위와 같이 요청하면 다음과 같이 json 데이터 형태로 응답을 받을 수 있다고 나와 있습니다.
- 요청하기 위해 문서를 읽어보니 'grant_type'은 그대로 두면 되고 나머지 값만 수정하면 될 것 같습니다.
- 'client_id'는 각자 REST API 키를 입력합니다.
- 'redirect_uri'는 'http://127.0.0.1:8000/oauth'를 입력합니다.
- 'code'는 저번 토픽에서 받아왔던 그 'code'입니다.
코드를 얻기 위해 서버를 구동하고 댓글을 입력한 뒤 제출해봅시다.
- 받은 코드를 대입합니다.
- [Git Bash]에 붙여넣고 결과를 확인해봅니다.
- 'access_token', 'token_type', 'refresh_token', 'expires_in', 'scope', 'refresh_token_expires' 값을 얻은 것을 확인할 수 있었습니다.
- json 데이터 형태로 값을 반환하는 것을 알 수 있습니다.