신입 게임 개발자의 프로그래밍 일기

OAuth란? 본문

IT

OAuth란?

KFGD 2017. 1. 19. 14:32

그냥 인터넷으로 "OAuth가 뭘까?"라는 의문점을 가지고 정보들을 찾은 것들을 정리(짜집기?)한 것입니다.


OAuth란?

-OAuth는 인증을 위한 Open Standard Protocol의 약자로, 사용자 인증 방식의 표준이다.

OAuth가 있기 전에는?

-OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 ID/Password를 사용하였는데, 이는 보안상 취약한 구조를 가지고 있었다.
(ID, Password는 해당 사용자의 모든 권한을 얻는 것이므로 도용의 위험성이 있다.)
-기본 인증이 아닌 경우에는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다.


기초용어
-서비스 제공자(Service Provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 Service)

-소비자(Consumer): 서비스 제공자가 제공하는 OAuth인증 관련 Open API를 활용하여 서비스 제공자에게 접근하는 프로그램

-사용자(User): 서비스 제공자에 계정을 가지고 있는 자

-요청 토큰(Request Token): 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보(ex. 기본인증)가 담겨있으며 후에 접근 토큰으로 변환

-접근 토큰(Access Token): 요청 토큰의 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값


회사 방문 과정과 OAuth인증 방식 비교



회사 방문 과정

OAuth 인증 과정

1

외부인A가 안내 데스크에 게임 퍼블리싱 목적으로 관계자B를 만나러 왔다고 말한다.

요청 토큰의 요청과 발급

2

안내 데스크에서는 관계자B에게 외부인A가 방문했다고 연락한다.

사용자 인증 페이지 호출

3

관계자B가 안내 데스크로 찾아와 외부인A의 신원을 확인해 준다.

사용자 로그인 완료

4

관계자B는 외부인 A의 목적과 인적 사항을 안내 데스크에 기록한다.

사용자의 권한 요청 및 수락

5

안내 데스크는 외부인A에게 방문증을 발급해 준다.

접근 토큰 발급

6

관계자B와 외부인A는 정해진 장소로 이동해 업무를 진행한다.

접근 토큰을 이용해 서비스 정보 요청




참고사이트

1) 위키: https://ko.wikipedia.org/wiki/OAuth

2) 씨앤토토 Tip&Tech게시판 글: http://www.cnthoth.com/_html/sub5_2_2.html?idx=34

3) Google Sign-In for Server-Side Apps: https://developers.google.com/identity/sign-in/web/server-side-flow

Comments