-
OAuth (1) - 정의 및 프로세스OAUTH 공부자료 2019. 10. 18. 11:41
OAuth의 정의
OAuth는 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공통적인 수단으로서 사용되는, 접근 위임을 위한 개방형 표준이다. 쉽게 말하면 OAuth는 인증 및 권한획득을 위한 오픈 스탠더드 프로토콜로, 사용자가 Facebook이나 트위터 같은 인터넷 서비스의 기능을 다른 애플리케이션(데스크톱, 웹, 모바일 등)에서도 사용할 수 있게 한 것이다.
OAuth2.0이란 각종 웹, 모바일 어플리케이션에서 타사의 API를 사용하고 싶을 때 권한 획득을 위한 프로토콜(Protocol)입니다. 간단하게는 로그인에서부터 각종 API를 보다 안전하고 편하게 사용하게 해줍니다.
아래와 같은 로그인 창을 보셨을 것입니다. 별도의 회원가입 없이 로그인을 제공하는 플랫폼의 아이디만 있으면 서비스를 이용 할 수 있습니다. 페이스북이나 구글의 아이디로 제 3의 서비스에 로그인해서 등록되어 있는 정보(친구 목록)나 기능(담벼락 글쓰기)에 접근할 수 있는 권한을 제어하기 위한 표준 프로토콜, 이것을 바로 OAuth라고 합니다.
OAuth 예시
예시) 인스타그램은 SNS 친구 찾기를 위해 페이스북의 오픈 API를 사용하여 자원 소유자의 친구 목록에 접근하며,
이때 OAuth 2.0 기반으로 인증 및 권한 승인
OAuth2.0의 장점
-
위에서 언급했듯이 이용하려는 서비스마다 회원가입을 할 필요없이 기존의 사용하던 타사의 정보를 이용하여 로그인을 진행할 수 있습니다.
-
타사의 정보를 통해 특정 사이트를 이용한다는 것은 매우 위험할 수 있으나 직접 타사의 아이디와 비밀번호를 입력하던 예전 방식보다 안전한 사용을 제공합니다.
- 정보는 회원 정보뿐만 아니라 기타 API에 대한 정보에도 접근이 가능합니다.
이렇게 사용자들이 타사에서 사용하고 있는 서비스들에 대한 정보를 가져와 가공하여 보다 가치있는 결과물을 사용자들에게 제공할 수 있습니다. 가장 많이 이용되는 곳이 바로 타사의 인증된 회원정보를 통한 로그인입니다.
Oauth2.0 역할들
사용자 : Resource Owner, 예) 일반 사용자
클라이언트 : Client 예) 구글, 페이스북 아이디로 로그인이 가능한 서비스. 제 3의 서비스.
API 서버 : Resource Server, 예) 이름, 나이 등 아이디 관련 정보를 제공하는 서버. 구글, 페이스북 등.
권한 부여 서버 : Authorization Server 예) 로그인을 통해 인증 후 권한을 부여하는 서버. 구글, 페이스북 등
Oauth2.0 프로세스
'OAUTH 공부자료' 카테고리의 다른 글
OAuth2 Developers Guide (Spring 공식 홈페이지) (0) 2019.10.25 OAuth 2.0 - Authorization Code Grant 방식의 흐름 (생활코딩) (0) 2019.10.23 Spring Security를 사용하는 OAuth 2.0 서버/클라이언트 구현 (0) 2019.10.23 OAuth(3) - Facebook 인증 (0) 2019.10.18 OAuth(2) - 역할 및 유형 (0) 2019.10.18 -