Home OAuth란 무엇인가요?
Post
Cancel

OAuth란 무엇인가요?

OAuth에 대해 알아보겠습니다.

OAuth

OAuth(Open Authorization)

  • 인터넷 사용자들이 비밀번호를 제공하지 않고,
  • 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는
  • 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준

OAuth는 여러 기업들이 사용

  • 아마존, 구글, 페이스북, 마이크로소프트, 트위터 등
  • 사용자들이 타사 애플리케이션이나 웹사이트의 계정에 관한 정보를 공유할 수 있게 허용

개방형 표준, 공개 표준(open standard)

  • 기술 표준이 문서가 공개되어 있으며, 사용이 자유로운 경우
  • 표준을 사용하는 데 있어 로열티를 지불할 필료가 없음

개요

OAuth 이전

  • OAuth 사용 이전에는 인증방식의 표준이 없었음
  • 기존의 기본인증인 아이디, 비밀번호를 사용
  • 이는 보안상 취약한 구조일 가능성이 매우 많음

각자의 인증 방법

  • 기본인증이 아닐 경우, 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인
  • 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth, 아마존의 웹서비스 API 등

OAuth의 등장

  • 제각각인 인증방식을 표준화한 인증방식
  • OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요 없음
  • 여러 애플리케이션을 통합하여 사용하는 것이 가능

용어

  • user(사용자): 서비스 제공자와 소비자를 사용하는 계정을 가진 개인
  • consumer(소비자): Open API로 개발된 OAuth를 사용해 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션
  • service provider(서비스 제공자): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
  • consumer secret(소비자 비밀번호): 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
  • request token(요청 토큰): 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담김. 후에 접근 토큰으로 변환
  • access token(접근 토큰): 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값

인증방식

OAuth 인증은 소비자와 서비스 제공자 사이에서 발생

  1. 소비자가 서비스 제공자에게 요청토큰을 요청
  2. 서비스 제공자가 소비자에게 요청토큰을 발급
  3. 소비자가 사용자를 서비스 제공자로 이동시킴. 여기서 사용자 인증 수행
  4. 서비스 제공자가 사용자를 소비자로 이동시킴
  5. 소비자가 접근토큰을 요청
  6. 서비스 제공자가 접근토큰을 발급
  7. 발급된 접근토큰을 이용해 소비자에서 사용자 정보에 접근

참고

OAuth

개방형 표준

This post is licensed under CC BY 4.0 by the author.