이론공부/네트워크통신

OAuth란 무엇인가?

멍토 2021. 8. 22.

OAuth

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

OAuth는 왜 사용해야 할까?

OAuth가 나오기 전에는 모든 사이트를 이용할때마다 개인정보를 입력하여 회원가입을 해야했다. 그렇지만 보안적인 문제로 인하여 특정 사이트에 대한 신뢰성이 문제가 되었다.

이러한 문제를 해결하기 위해서 개인정보를 입력하지 않고 회원의 정보를 가져올 방법이 필요했고, 여러가지 방법이 나왔는데 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth 등이 있었다.

OAuth는 위의 제각각인 방법을 표준화 시킨 인증방식이다.

인증방식

사진출처 : https://oauth.net/core/diagram.png

OAuth 1.0

2007년에 제각각인 방법을 표준화시키며 OAuth가 나오게 되었다.

2007년에 나온 OAuth 1.0은 비공식 논의체에 의해서 최초로 만들어진 것이며 2010에 OAuth 워킹그룹에 의해 IETF표준 프로토콜로 발표되었다.

OAuth 2.0

현재 나와있는 OAuth 2.0은 드래프트 단계에 있는 것으로 , IETF OAuth 워킹그룹이 주축이 되어 만든것이다.

1.0과 2.0의 차이점

비교 OAuth 1.0 OAuth 2.0
참여자 구분 이용자
소비자
서비스 제공자
자원 소유자
클라이언트
권한 서버
자원 서버
토큰 요청 토큰(Request Token)
접근 토큰(Access Token)
접근 토큰(Access Token)
재발급 토큰(Refresh Token)
유효기간 접근 토큰의 유효기간 없음 접근 토큰 유효기간 부여
만료 시 재발급 토큰 이용
클라이언트 웹 서비스 웹, 앱 등

출처 : https://d2.naver.com/helloworld/24942

https://itwiki.kr/w/OAuth#OAuth1.0.EA.B3.BC_OAuth2.0.EC.9D.98_.EC.B0.A8.EC.9D.B4

'이론공부 > 네트워크통신' 카테고리의 다른 글

웹훅(Webhook)이란 무엇인가?  (0) 2021.08.23
HTTPS란 무엇인가?  (0) 2020.10.01
인터넷은 어떻게 동작하는가?  (0) 2020.08.12
HTTP는 무엇인가?  (0) 2020.08.09
OSI7계층에 대해서  (0) 2020.08.08

댓글

💲 광고입니다.