OAuth 2.0

byeolhee·2022년 11월 16일
0

OAuth 2.0 개념

OAuth 2.0을 실무에 사용하며 그냥 API라는 것을 사용하기 위한 하나의 인증방식 정도의 인식만 가지고 있었으나 이 내용을 더 늦게전에 알아봐야겠다는 생각이들어 포스팅 해보고자 한다.
너무 2.0만 쓰길래 3.0이 있나 찾아바봤더니 없다고 한다. 다행이다.

간단히 설명하자면 한다면 구글, 페북, 트위터 등 외부의 소셜 계정을 기반으로 사용자가 간편히 로그인 할 수 있는 웹 어플리케이션이 A가 있다. 그리고 사용자가 구글 계정이 있단 가정하에 구글 계정을 이용해 플랫폼에서 로그인하면 구글에 기존 사용하고 저장된 있는 생일, 등등... 연동되어 정보들을 가져와 사용자에게 보여줄 수가 있다. 왜냐? 인증을 통과해 내가 A에서 나임을 증명한 것이기 때문에!

이때 인증에 사용되는 프로토콜이 이 OAuth 2.0 이다.
사용자가 보기인 인증이라고 말하기도 하지만 증명을 해서 정보를 사용하는걸 권한을 부여해 허용, 허가한 것에 가깝다. 권한 부여가 여기서 말하는 토큰이다.


"증명했으니 A플랫폼에서 이 정보를 사용하는걸 허가한다! 토큰 받아."

OAuth : Open Authorization. 공개 승인이란 뜻이다.


참 편리하게도 웹 사이트상의 자신의 정보를 접근을 부여해 공통으로 사용해서 접근을 할 수 있다. 로그인과 개인정보취급등을 위임한 것에 가깝다.

OAuth 구성요소

구분 설명 사용자 클라이언트
Resouce Owner 웹 서비스를 이용하는 유저. 보호된 자원(개인정보, RESOUCE)에 접근할 수 있는 자격이 부여되는 주체. 로그인하는 실제 사용자.
Client 애플리케이션 서버. 보호된 권한, 개인정보들을 사용하려 접근하는 곳
Resource Server 사용자의 보호된 정보를 호스팅 하는 서버. 정보를 가지고 있는 애플리케이션. Token을 이 서버로 넘겨 개인정보 응답을 받는다.
Authorization Server 권한서버. 인증/인가를 수행한다. 자격을 확인해 Assess Token을 발급해 권한 부여. 이 서버로 ID,PW를 넘겨 Authorization Code를 획득 Authorization Code를 넘겨 Token을 획득
Access Token 자원(정보)에 접근을 허용받았음을 나타내는 자격증명 발급권. 발급 유효시간이 짧다.
Refresh Token Access Token만료시 갱신하기위한 용도로 사용하는 Token. 재발급을 받아야 다시 로그인 할 필요가 없기 때문에 필요하고, Access Token에 비해 조금 긴 유효기간이 특징

ppt로 이미지 간단하게 정리를 해봤는데 미흡할 수도 있다. ㅠㅠ 그리고 이미지가 확대가 velog에서 좀 작게보이는데 새 탭열기 해서 보자. 오매 ㅜ 테이블도

이런식으로 잘만 만들었는데 출간하기 누르니 선이 사라졌네 허허허허.... ^^
이는 결국 USER의 동의를 얻고, 정보를 가져올 Resouce Server 로 부터 신원을 확인하는 절차이다.

또한 아주 기본적인 정보이기 때문에 refresh로 재발급 하는 내용 등을 다루진 않았기 때문에 기본 개념을 이해하는 정도로만 보고 넘어가자.




더 보면 좋을 블로그

https://gdtbgl93.tistory.com/180

profile
데이터 우주를 헤맵니다. 응답하라 데이터

0개의 댓글