본문 바로가기

서버/서버

인증) OAuth 2.0 - 카카오인증 실습(feat. postMan)

oAuth 2.0의 인증과정을 전 글에서 보았으니 실제로 포스트맨으로 실습을 해보자.

 

 

카카오 디벨로퍼 사이트에 가입한다.

developers.kakao.com/

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

 

developers.kakao.com/docs/latest/ko/kakaologin/rest-api

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

 

사실 카카오 디벨로퍼에는 가이드가 매우 잘 되어 있어서 이걸 보고 따라했다.

 

웹으로 진행하였을 때에는 자바스크립트로 구현 한 적이 있었는데, 이번에는 API서버를 구축중이었으므로 REST API를 이용한 OAuth 2.0을 사용해 보았다.

 

 

 

1. 어플리케이션 등록

앱 아이콘이 나중에 OAuth를 실행할 때 나오는 아이콘이 된다.

 

 

 

2. 플랫폼 등록

플랫폼 등록사이트에서 OAuth 2.0을 사용할 우리의 웹사이트 도메인주소를 입력한다.

 

 

3. 하단의 제품설정의 카카오로그인 설정

 

Redirect URI란 카카오서버와 우리의 서버가 토큰과 정보를 주고받을 때, 우리 서비스에서 그 정보를 받는 페이지이다.

이 페이지에서 카카오서버에서 제공하는 정보를 받고 다음 작업으로 넘어가게 된다.

 

 

 

4. 동의항목 설정

하단의 동의항목 설정에서 로그인시 필요한(카카오서버에서 제공받을) 데이터들을 선택한다.

 

이는 카카오 OAuth를 이용해 처음 로그인할 때 유저에게 어떤 정보를 동의받는지 체크하는 permission List이다.

 

 

 

 

 

 

 

 

이제 기본적인 에플리케이션 세팅은 완료되었다. 본격적으로 OAuth 실습을 진행해보자.

 

카카오 rest API OAuth 2.0로그인은 세가지 단계를 거친다.

1. 인증코드 요청

2. 인증코드로 Access Token 요청

3. Access Token으로 API호출

 

먼저 인증코드를 요청해보자.

 

 

1. 인증코드 요청 후 토큰 받아오기

 

rest방식으로 인증코드를 요청하는 방식은 이렇다. 하지만 우리는 postMan을 이용할 것이다.

 

postMan에는 Authrization이라고 인증을 위한 도구가 있다.

TYPE을 OAuth 2.0으로 선택 후 get New AccessToken을 누른다.

1) Callback URL : Redirect URI로 등록한 주소 

2) Auth URL : 카카오톡 인증코드 request 주소

GET /oauth/authorize?client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI}&response_type=code HTTP/1.1
Host: kauth.kakao.com

3) Access Token URL : 카카오톡 토큰 request 주소

POST /oauth/token HTTP/1.1
Host: kauth.kakao.com
Content-type: application/x-www-form-urlencoded;charset=utf-8

4) Client ID : REST API 키

 

를 입력해서 Request Token을 클릭한다.

 

 

 

 

 

 

 

 

2. 로그인 후 토큰 확인

이후 카카오 로그인창이 뜬다.

내부적으로 인증코드를 받아온 후 토큰을 Access Token과 Refresh Token을 정상적으로 응답받았다.

 

 

 

 

 

 

3. 토큰으로 내정보 받아오기

발급받은 토큰을 Bearer형식으로 설정하고

해당 url로 get요청을 보내면 우리가 처음 permission List에 등록했던 정보들이 응답된다.

 

 

 

 

 

4. 연결끊기

아래 url로 토큰과 함께 연결을 끊는 요청을 보낸다.

https://kapi.kakao.com/v1/user/unlink

연결이 끊겨 더 이상 로그인이 토큰이 유효하지 않은 모습

 

 

 

 

 

나머지 로그아웃, 토큰 갱신등의 기능들도 있으니 상황에 맞게 사용하면 될 것이다.

developers.kakao.com/docs/latest/ko/kakaologin/rest-api

'서버 > 서버' 카테고리의 다른 글

인증) JWT(JSON Web Token)  (0) 2020.09.12
REST / REST API / RESTful  (0) 2020.08.14
Query string vs Path Variable  (0) 2020.08.13
HTTP  (0) 2020.08.13
API  (0) 2020.08.13