Study/IT 지식

OAtuh란 무엇일까요?

solutionMan 2022. 8. 4. 15:18
반응형

OAuth란?

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

많은 사람들이 OAuth를 API라고 생각하는데 OAuth는 개방형 표준(open standard) 이다.

개방형 표준이라하면 기술 표준이 문서가 공개되어 있으며 사용이 자유로운 것을 뜻하는데 OAuth는 이러한 표준인 것이다. 그래서 누구나 만들 수 있고 활용할 수 있으며 그 위에 HTTPS, API, 서버, 토큰 등등의 개념이 올라가있는 것이다. 그렇다면 OAuth는 어떤 것에 대한 표준일까?

바로 앱이 클라이언트 애플리케이션에 보안 위임 엑세스(secure delegated access) 를 제공하는데 사용하는 표준이다.풀어말하면 A서비스를 이용하는 사람들이 별다른 비밀번호나 자격증명없이 로그인할 수 있도록 B서비스에서의 접근 권한을 부여할 수 있게하는 표준인 것이다. 구글로그인같은 것을 생각하면 이해가 쉽다.

흔히 볼수있는 소셜로그인 기능

OAuth는 왜 사용해야 할까?

OAuth가 나오기 전에는 모든 사이트를 이용할때마다 개인정보를 입력하여 회원가입을 해야했다.

그렇지만 보안적인 문제로 인하여 특정 사이트에 대한 신뢰성이 문제가 되었다.

 

이러한 문제를 해결하기 위해서 개인정보를 입력하지 않고 회원의 정보를 가져올 방법이 필요했고,

여러가지 방법이 나왔는데 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth 등이 있었다.

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

 

 

OAuth 2.0 인증과정


OAuth 1.0 과 OAuth 2.0의 차이

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

 

OAuth 2.0의 인증종류

  • Authorization Code Grant
  • Implicit Grant
  • Resource Owner Password Credentials Grant
  • Client Credentials Grant

 

반응형