반응형


#Oauth 1.0 개념과 예제 : https://oauth.net/1/


* 용어 정리
  • User : 특정 서비스를 사용하는 사용자 (ex. 네이버에 가입하고 싶은 사용자, 네이트에 가입하고 싶은 사용자 등)
  • Consumer : 네이버나 네이트와 같이 사용자가 실질적으로 가입하고 싶어하는 서비스사 (ex. 네이버, 네이트 등)
  • Service Provider : Oauth 서비스를 제공해주는 회사 (ex. 트위터, 구글, 카카오 등)
즉, Oauth란 사용자가 이미 Service Provider의 플랫폼에 가입이 되어있다면 
사용자는 다시 네이버나 네이트에 정보를 입력하지 않고 Service provider의 인증을 통해서 
해당 정보를 사용할 수 있는 인증 방식이다.

* 인증 과정
  1. 유저가 컨슈머 서비스(네이버)에 가입하기를 원하는데 가입페이지로 가보니 트위터로 가입하기가 있다.
  2. 사용자는 트위터로 가입하기를 클릭 ( 트위터로 가입하기 요청 )
  3. 컨슈머(네이버)는 사용자에게 트위터의 로그인 화면으로 이동시킨다. 
  4. 사용자는 트위터 로그인 화면에서 로그인을 한다.
  5. 서비스 프로바이더(트위터)는 해당 정보가 자신의 플랫폼에 있는 사용자인지, 권한은 있는지를 확인한다.
  6. 서비스 프로바이더(트위터)가 컨슈머(네이버)에게 인증 토큰을 전달한다.
  7. 컨슈머(네이버)는 발급받은 인증 토큰을 통해서 트위터의 API를 이용하여 서비스를 제공한다.
* 좋은 점
  • 비밀번호를 한 곳(Service Provider)에서 관리를 할 수 있다.
  • 개인정보를 계속 입력하지 않아도 된다. 
  • 간편하게 가입/인증을 통해서 다양한 서비스를 이용할 수 있다.
즉, 제공해주는 API 등에 따라서 보안성과 간편성 등 외에도 다양한 이점이 있을 수 있으며,
컨슈머는 사용자의 개인정보(비밀번호 등)을 따로 저장/관리하지 않아서 관리 포인트가 적어지는 이점이 있다.

* 버전
  • v1.0 : 보안 결함이 발견되면서 v1.0a가 IETF 표준 프로토콜로 지정 (웹 인증만 제공)
  • v2.0 : v1.0의 key_signature 등 복작함등을 제거함 (웹, 앱 인증 제공)
* 현재 v1.0a 인증 방식을 제공하는 서비스
  • NHN (오픈API)
  • Daum (요즘, 오픈API)
  • 트위터
  • 야후 등

예제) 네이버 Open API를 이용해보자.



이어지는 링크

참고 링크


반응형

+ Recent posts