본문 바로가기

Programming/Java & JSP & Spring

OAuth2.0 란?

OAuth 2.0 을 한마디로 표현하자면

웹, 앱 서비스에서 제한적으로 권한을 요청해 사용할 수 있는 키를 발급해주는 것이다.


쉽게 말하면 사용자가 페이스북이나 트위터 같은 인터넷 서비스의 기능을 다른 애플리케이션에서도

사용할 수 있게 한 것이다.


플랫폼의 시대가 열리면서 IT기업에게 Open API는 가장 중요한 자산으로 자리잡았다.

어떤 형식으로 API를 구성하고 어떤 포맷으로 데이터를 주고받을 것인가에 대한 싸움도 치열했는데,

SOAP & XML과 REST & JSON이 경합을 벌인 끝에 REST & JSON의 승리로 끝났다.

이제 새로 생기는 모든 웹서비스, 모바일 서비스들은 REST & JSON 기반으로 API를 제공하고 있으며,

인증방식으로는 OAuth2.0을 택하고 있다.


OAuth를 만들고 활성화 시키는데 기여한 가장 유명한 회사는 트위터이다.

OAuth 2.0의 첫 번째 draft가 등록된 것은 2010년 4월 이었고, OAuth 1.0a에서 불편하다고 느꼈던 모바일에서의

사용성 문제나 signature 생성과 같은 개발이 복잡하고 CPU를 많이 소비하는 기능의 단순화,

기능과 규모의 확장성 등을 지원하기 위해 만들어 졌다. 


OAuth와 로그인

회사 사원이 출입증을 가지고 회사 건물에 들어가는 것을 로그인이라 한다면,

OAuth는 방문증을 수령하고 회사에 출입하는 것과 같다.


OAuth를 사용하는 이유

OAuth를 사용하는 이유는 엄청나게 많은 각 서비스별 아이디와 패스워드를 다 기억하고 로그인 시 입력해야 하는

경우가 생기는데, OAuth API를 사용하는 사이트는 제한된 설정으로 연결하여 인증을 하기만 하면 된다.


OAuth를 사용하면 특정 기능과 리소스에 접근할 수 있도록 하는 인증토큰을 받을 수 있다.

인증토큰으로 서비스를 접근하는데 사용한다.


OAuth로 인한 인터넷 서비스의 변화

OAuth는 요즘의 인터넷 생태계의 주요 요소로 자리매김하고 있다.

신생 업체들은 고유의 인증 방식을 사용하기 보다는 Facebook이나 트위터의 인증을 이용하고 있다.

개발 비용과 운영 비용을 줄이는 효과도 있지만 Facebook이나 트위터를 통해 서비스를 홍보하는 효과를

만들 수도 있다. 

그리고 Service Provider 입장에서는 핵심 기능을 더욱 공고히 하는 효과를 얻고 있다.

표준 인증 방법 하나가 인터넷 업계에 변화를 주고 있는 것이다.







참조 :

http://earlybird.kr/1584

http://interconnection.tistory.com/76

http://d2.naver.com/helloworld/24942