페이지

2010년 11월 9일 화요일

OAuth


OAuth란?

Open API를 사용하기 위해선 인증이 필요합니다.

인증방식의 표준이 없기 때문에 제 각각의 방법으로 개발되고 있는 실정인데요

구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth

OAuth는 제각각의 인증방식을 표준화하고 가장 좋은 방법만 가져다 만들었습니다.

즉 매쉬업 서비스로 만들어진 어플리케이션이 다른 어플리케이션의 사용자 정보를 접근할 수 있는

표준화된 방법을 제공하는 스펙입니다.

OAuth 인증방식을 이해하기 위해선

용어를 미리 숙지하셔야 합니다.

◦ 서비스 프로바이더(Service Provider) – OPENAPI를 제공하는 서비스를 말합니다
◦ 사용자(users) - 서비스 프로바이더 혹은(그리고컨수머를 사용하는 이를 말합니다
◦ 컨수머(Consumer) – API를 사용하여 개발된 애플리케이션 서비스를 말합니다.
◦ 보호된 자원(Protected Resources): 서비스 프로바이더에 존재하는 사용자의 데이터를 의미합니다.
◦ 컨수머 개발자(Consumer Developer) : 컨수머를 개발하는 개인 혹은 단체
◦ 컨수머 키(Consumer Key) : 서비스 프로바이더에게 컨수머 자신임을 인증하기 위한 키
◦ 컨수머 시크릿(Consumer Secret) : 컨수머의 컨수머 키 소유권한이 있는지 인증하기 위한 키
◦ 토큰(Tokens) – 컨수머에서 서비스 프로바이더에 있는 사용자의 보호된 자원에 접근하기 위해 사용되는
                       사용자의 인증정보입니다.

  리퀘스트 토큰(Request Token) :  컨수머가 사용자에게  접근권환을 획득하는 과정에서 사용하는   
                                               값이며, 이것은 차후 액세스 토큰으로 교환됩니다.
  리퀘스트 토큰 시크릿(Request Token Secret) :  리퀘스트토큰이 사용자의 것임을 인증하기 위한
                                                                 값입니다.
  액세스 토큰(Access Token) : 컨수머가 사용자의 서비스 프로바이더를 통해서가 아닌 컨수머를
                                          통해서 보호된 자원에 접근할 수 있는 권한을 받기 위한 값입니다.
         ▪  액세스 토큰 시크릿(Access Token Secret) : 액세스토큰이 사용자의 것임을 인증하기 위한
                                                                      값입니다.

OAuth 인증방식의 흐름도입니다.


OAuth 인증 방식에는 7가지의 인증과정으로 이루어져 있습니다.

A; Consumer가 Request Token 요청
B; Service Provider가 Request Token 발급 
C; Consumer는 사용자를 Service Provider로 이동사용자를 인증하고 토큰 발급을 확인함
D; Service Provider는 사용자를 Consumer로 이동 
E; Consumer는 Access Token 요청 
F; Service Provider는 Consumer의 신원과 Request Token 확인Access Token 발급
G; Consumer는 Access Token으로 사용자 정보에 접근

끝으로 관련 사이트입니다.


현재 오픈마루에서 OAuth 인증방식을 지원하고 있습니다.


OAuth 인증 관련 예제


출처 : Naver OPEN API 공식CAFE

댓글 없음:

댓글 쓰기