OAuth2 쉽고 얕게 후딱 이해하기

박지성 학부생·2024년 2월 8일
1

BackEnd Develop log

목록 보기
7/27

OAuth2 스윽 이해하기

전시회에 가는 과정으로 감잡는 인증 과정

OAuth2는 인터넷 사용자가 비밀번호를 공개하지 않고도, 다른 웹 사이트의 정보에 접근할 수 있게 해주는 인증 방식이다. 이를 전시회에 가는 과정에 비유해 쉽게 설명해보겠다.

전시회 입장을 위한 준비

방문객(클라이언트 애플리케이션)이 전시회(리소스 서버)를 방문하기 위해서는 먼저 티켓(인증 토큰)이 필요하다. 이 티켓은 전시회의 미술 작품(리소스)을 볼 수 있는 권한을 부여한다.

티켓 부스에 ㄱㄱ

방문객은 티켓을 얻기 위해 티켓 부스(인증 서버, 예: Google)에 방문한다. 여기서 방문객은 자신의 신분을 증명함으로써, 티켓을 받을 자격이 있음을 인증 서버에 알린다.

티켓 교환권의 수령

하.지.만. 티켓 부스에서 바로 입장권을 받는 것이 아니다!!! 방문객에게 주어지는 것은 "티켓 교환권"(authorization code)으로, 이는 실제 입장권이 아니라 입장권을 받기 위한 중간 단계에 해당한다.

실제 입장권으로의 교환(중요!)

이 교환권을 가지고, 방문객은 전시회 입구에 가서 실제 입장권(JWT 또는 access token)으로 교환한다. 이 과정에서 클라이언트 애플리케이션은 인증 서버에 교환권과 함께 자신이 누구인지를 증명하는 추가 정보를 제공한다.

전시회 관람

이제 방문객은 입장권을 손에 들고 있으므로, 전시회 내부로 들어가 미술 작품을 자유롭게 관람할 수 있다. 각 작품에 대한 접근은 소유한 입장권의 유형에 따라 결정된다.

요약

OAuth2 인증 과정은 방문객이 전시회를 관람하기 위해 티켓을 얻는 과정과 유사하다. 이 과정을 통해 사용자는 안전하게 자신의 데이터에 접근할 수 있는 권한을 타사 애플리케이션에 부여할 수 있다. 이 방식은 사용자의 데이터 보안을 유지하면서도, 다양한 서비스가 서로 협력하여 풍부한 사용자 경험을 제공할 수 있게 해준다.

이해가 어렵다면. 유저의 비밀번호를 서버개발자인 내가 직접 안다뤄도 된다! 구글같은 대기업의 어깨에 올라타 유저의 정보를 좀 더 안전하게 관리할 수 있게 해주는게 Oauth!

profile
참 되게 살자

0개의 댓글