OAuth

marisol👩🏻‍💻·2022년 7월 17일
0

📝 OAuth?

OAuth의 위키를 보면 OAuth를 아래와 같이 설명하고 있다

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

이 설명만으로는 OAuth에 대한 개념을 잡기가 어려웠는데,
사진을 찍고 보정까지 할 수 있는 앱에서 사진을 보정하고,
바로 페이스북이나 인스타그램에 업로드하는 경우를 생각해보면 이해하기 쉽다

인터넷 사용자들이 비밀번호를 제공하지 않고
다른 웹사이트 (페이스북이나 인스타그램) 상의 자신들의 정보에 대해
웹사이트나 애플리케이션 (사진 앱)의 접근 권한을 부여할 수 있는 수단이 OAuth다

인증: 유저가 누구인지 확인하는 절차
인가: 제3자에게 유저에 대한 권한을 허락하는 것

OAuth는 인가를 위한 프로토콜을 말한다

🧐 OAuth 용어 및 인증 방식

📌 OAuth 용어

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

페이스북과 사진 앱의 계정을 가지고 있는 개인이 사용자이고,
사진 앱은 서비스 제공자인 페이스북에 접근하는 소비자인 것 같다

📌 인증 방식

  1. 소비자가 서비스제공자에게 요청토큰을 요청한다
  2. 서비스 제공자가 소비자에게 요청토큰을 발급해준다
  3. 소비자가 사용자를 서비스 제공자로 이동시킨다 (사진 앱에서 페이스북으로 이동해서 사용자 인증함)
  4. 서비스 제공자가 사용자를 소비자로 이동시킨다 (인증한 다음 다시 사진 앱으로 이동)
  5. 소비자가 접근토큰을 요청한다
  6. 서비스 제공자가 접근토큰을 발급한다
  7. 발급된 접근토큰을 이용하여 사진 앱이 사용자 정보에 접근해 사진을 업로드한다

참고 자료

0개의 댓글