-
Oauth 2.0 비전공자 쉽게 알아보자 2 :: 마이구미오픈 API 2016. 6. 14. 21:14반응형
이번 글은 로그인 API와 프로필 조회 API를 살펴볼 것이다.
예시는 네이버를 활용하자.
시작하자.
네이버 개발자 센터에서 애플리케이션을 만들면 위 그림과 같이 Client ID, Secret 키를 얻을 수 있다.
이 두 녀석이 꼭 필요하다. 로그인 API를 이용하기 위한 네이버에서 내려준 고유 식별키라고 생각하자.
기본적인 셋팅은 생략하겠다.
이 두가지 api 요청 URL만 이용하면 로그인 뚝딱이다.
먼저 로그인을 하기 위해서 네이버 로그인 페이지로 이동을 위하여 위 그림 설명에도 나와있듯이
'네이버 아이디로 로그인 인증 요청'의 요청 URL을 이용한다.
요청 URL의 요청 변수 명세에 따라 파라미터를 붙여주어 페이지 이동을 하게 한다.
그렇다면 https://nid.naver.com/oauth2.0/authorize?client_id=ZtFYUWVDrtzPEzaHMGaH&response_type=code&redirect_uri=http%3A%2F%2Fhotehrud.cafe24.com%2FGiftcon%2Ftest.html&state=1465903844635 이처럼 이동한 페이지의 URL이 될 것이다.
페이지 이동에 오류가 뜬다면 빠진 파라미터가 없는 지 확인하여 요청하면 된다.
위 그림처럼 나온다면 잘 순조롭게 되고 있는 것이다.
('네이버 로그인으로 {본인이 만든 애플리케이션 이름} 서비스를 이용하실 수 있습니다.' )
그렇다면 이제 아이디와 비밀번호를 입력한 후 로그인 버튼을 클릭 했을 경우를 알아보자.
로그인 버튼을 클릭한 경우 기존 로그인 페이지 URL의 파라미터인 redirect_uri의 값으로 리턴된다.
이 말은 즉 로그인 클릭 시 네이버 서버로 로그인을 요청한 것이다.
이에 네이버 서버는 요청에 응답하기 위해 반환해주어야하는데 이를 redirect_uri의 값으로 리턴해주는 것이다.
이 때 네이버 서버에서는 리턴될 redirect_uri에 인증코드(authorization code)를 내려주게 된다.
그러므로 redirect_uri은 꼭 리턴되어 처리가 이루어질 URL로 설정해주어야한다.
여기까지가 로그인 API를 이용한 것이다.
그렇다면 이제 로그인한 계정의 프로필 정보를 가져와보자.
위의 그림 두번째 요청 URL(접근 토큰 발급/갱신/삭제 요청) 을 이용하면 된다.(https://nid.naver.com/oauth2.0/toekn)
여기서 이제 access_token이라는 것을 받아오게 된다.
access_token을 통해 이제 다른 api들을 이용할 수 있게 되는 중요한 놈이다.
똑같이 요청 변수 명세에 따라 파라미터를 추가한 후 보내주면 된다.
(grant_type, client_id, client_secret, code, state)
별로 크게 어려울 것이 없다. 중요한 건 code이다.
저 code 파라미터가 바로 로그인 API를 통해 얻어온 인증코드(authorization code)이다.
파라미터를 넣고 요청 URL로 보낼 시 제대로 보내졌다면 access_token을 받아올 수 있을 것이다.
이제 받아온 access_token을 가지고 프로필 정보를 얻어올 것이다.
https://openapi.naver.com/v1/nid/me?access_token="받아온 액세스 토큰"
위 URL로 요청하면 끝~. 프로필 정보들이 JSON 형태로 받아왔는 걸 확인할 수 있다.
다른 API를 이용할 때에도 access_token을 가지고 이용한다고 보면된다.
명세에 따라 요청 URL과 요청 파라미터가 다를 뿐이다.
access_token에 대해서도 자세한 학습이 필요하다.
하지만 이 글의 내용만 가지고도 충분히 api 이용에는 문제가 없다.
실제 운영할 것이라면 자세한 학습이 필요하다.
기본적인 예제가 필요하다면 알려주겠다.
반응형'오픈 API' 카테고리의 다른 글
meta og 태그에 대한 오픈그래프 알기 : 마이구미 (0) 2016.07.10 Daum 블로그 글쓰기 API 업데이트 :: 마이구미 (2) 2016.07.03 글쓰기 API 유입수 늘리기 [openAPI] :: 마이구미 (0) 2016.07.02 카카오 프로필 업데이트 안되는 현상 :: 마이구미 (1) 2016.06.27 Oauth 2.0 비전공자 쉽게 알아보자 1 :: 마이구미 (0) 2016.06.13