본문 바로가기

멋쟁이사자처럼_부트캠프/개념STUDY

OAuth2

OAuth2(Open Authorization)

제3자 애플리케이션이 사용자 비밀번호를 직접 알지 않고도, 사용자의 권한을 위임받아 자원에 접근할 수 있도록 설계된 인증 및 권한 부여 프레임워크. 주로 소셜 로그인이나 API 접근 권한 관리에 사용된다.

어플리케이션을 이용할 때 사용자가 해당 어플리케이션에 ID, PW등의 정보를 제공하지 않고, 신뢰할 수 있는 외부 어플리케이션(Naver, Google, Kakao, Facebook 등)이 제공하는 Open API에 ID, PW를 입력하여 해당 어플리케이션이 인증 과정을 처리해주는 방식.

'2'는 버전 번호를 뜻함(2는 보안은 자체 암호화가 아니라 HTTPS에 위임함(간단 버전))

 

핵심 개념 요약

용어 설명
Resource Owner (리소스 소유자) 일반적으로 사용자. 자신의 자원(: 카카오 프로필 정보)에 접근 권한을 가짐
Client (클라이언트) 3자 앱. 사용자의 허락을 받아 자원에 접근하려 함
Authorization Server (인가 서버) 접근 권한을 발급하는 서버. 보통 카카오, 구글, 네이버 등이 해당
Resource Server (자원 서버) 실제 데이터를 가지고 있는 서버 (: 사용자 정보 API)
Access Token 사용자 권한을 위임받았다는 증거. API 호출 시 사용
Refresh Token Access Token이 만료되었을 때 새로 발급받기 위한 토큰
 

일반적인 흐름 (Authorization Code Grant 기준)

Authorization Code Grant (카카오, 네이버, 구글, 페이스북, 애플 로그인)

  • 사용자 인증을 제3자 앱이 대신하지 않고, 인가 서버가 직접함
  • 실제 토큰 발급은 백엔드에서 이뤄져 보안에 유리
  • 토큰 유효 기간이 짧아도 Refresh Token으로 연장 가능

4. ID/PW 입력을 통해 토큰이 살아있는상태면 다시 입력하지않아도 됨.

  1. 사용자 로그인 요청
    • 사용자가 클라이언트 앱에서 "페이코로 로그인" 클릭
  2. Authorization Code 발급
    • 클라이언트는 사용자를 페이코 인가 서버로 리다이렉트
    • 사용자 동의 → 페이코는 Authorization Code 반환
  3. Access Token 발급
    • 클라이언트는 Authorization Code를 백엔드에서 페이코 인가 서버에 전달
    • Access Token 과 Refresh Token을 응답으로 받음
  4. API 요청
    • Access Token을 사용하여 페이코 사용자 정보 API 등에 요청, 원하는 제공되는 서비스 이용.

 

 

 

'멋쟁이사자처럼_부트캠프 > 개념STUDY' 카테고리의 다른 글

TDD와 테스트 전략  (0) 2025.06.22
JWT  (0) 2025.05.20
기본 웹 아키텍처 개념  (0) 2025.05.13
RabbitMQ란  (0) 2025.05.06
CI/CD 개념 정리  (0) 2025.04.25