멋사 부트캠프

[멋사 부트캠프] Day08 - OAuth2 소셜 로그인

sagecode 2025. 6. 27. 15:25

우리가 보통 서비스를 만들 때, 소셜 로그인을 많이 사용한다. 처음 서비스를 접하는 사용자 입장에서 회원가입 폼을 일일이 입력하는 과정은 매우 번거롭고, 개발자 입장에서도 이를 직접 관리하는 것은 보안 리스크가 크다.

 

이러한 문제를 해결하기 위해 OAuth2 프로토콜 기반의 소셜 로그인이 널리 사용된다.
OAuth2를 이용하면, 사용자가 직접 아이디와 비밀번호를 입력하지 않고도 구글, 카카오와 같은 외부 인증 서비스를 통해 로그인할 수 있다.

 

OAuth2란?

OAuth2는 제3자 애플리케이션이 사용자의 비밀번호를 직접 알지 않고도, 사용자의 자원(정보)에 접근할 수 있도록 허용해주는 권한 위임 프로토콜이다. 즉, 사용자가 카카오나 구글에 로그인한 뒤, 그 인증 정보를 기반으로 내 서비스에서 사용자 정보를 안전하게 받아올 수 있게 해주는 방식이다.

 

OAuth2 동작 흐름 요약

  1. 사용자 → 소셜 로그인 버튼 클릭
  2. Spring 서버 → 외부 인증 URL로 리다이렉트
  3. 외부 서비스 로그인 및 권한 동의
  4. 인증 완료 → 인증 코드 발급
  5. Spring 서버 → 인증 코드로 Access Token 요청
  6. Access Token을 통해 사용자 정보 요청
  7. 사용자 정보 기반으로 회원가입 or 로그인 처리 + JWT 발급