Spring/Spring Security

OAuth 개념

원2 2022. 8. 24. 16:18
728x90
반응형

OAuth

Open Authorization : 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 들이 자신들의 정보에 대해 웹사이트나 어플에 정급 권한을 부여하는 공통적인 수단.

한마디로 한 사이트에서 공유를 시작하면 다른 곳에서 따로 인증을 안받아도 된다는 소리임

페이스북 - 인스타 느낌이라고 생각하면 편할듯

 

OAuth vs OpenID

OAuth : 사용자가 누구인지 인증하는것이 아닌, 요청이 권한이 있는지를 확인하는 인가 프로토콜

OpenID : 사용자가 누구인지 인증하는것

 

용어

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

 

인증방식

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

 

놀이동산으로 비유하면

놀이기구마다 결제하고 타는게 아니고

자유이용권 받는거라고 생각하면 될듯

728x90
반응형