
연구를 하다보니 쓰게 되는 ..
웹 사이트나 앱 이용 시 ‘구글로 로그인’, ‘카카오로 로그인’ 같은 간편 로그인 기능을 자주 볼 수 있습니다. 이 기능의 핵심 보안 표준이 OAuth 2.0입니다.
1. OAuth 2.0을 사용하는 이유
사용자가 자신의 비밀번호를 제3자 앱에 직접 전달하지 않고도, 구글/카카오 같은 인증 기관(Authorization Server)을 통해 안전하게 권한을 부여(Authorize)받기 위함입니다.
2. OAuth 2.0의 4가지 주체
- Resource Owner (사용자): 서비스를 이용하려는 유저.
- Client (서비스 앱): 사용자가 이용하려는 제3자 애플리케이션(예: 개인 웹사이트).
- Authorization Server (인증 서버): 유저를 인증하고 Access Token을 발급해 주는 서버 (예: Google, Kakao).
- Resource Server (자원 서버): 사용자의 프로필 정보 등이 저장된 서버.
3. 권한 부여 승인 코드 방식(Authorization Code Grant) 흐름
- 유저가 ‘구글 로그인’ 버튼 클릭.
- 유저는 구글 인증 페이지로 이동하여 로그인 및 권한 동의.
- 구글이 Client 앱으로 Authorization Code를 전달.
- Client 앱은 이 코드를 가지고 구글 인증 서버에 Access Token 발급을 요청.
- 전달받은 Access Token을 이용해 사용자의 프로필(이름, 이메일 등)을 가져와 로그인 처리 완성.