본문 바로가기
잡동사니

웹 - 스프링에서 카카오 로그인 연동하기

by 개발자 포비 2024. 12. 12.

카카오 로그인 구현 절차

1. 사전 준비

  • 카카오 개발자 사이트에서 애플리케이션 등록
  • REST API 키 발급
  • Redirect URI 설정 (/login/oauth2/code/kakao)
  • 동의항목 설정 (닉네임, 프로필사진 등 필요한 정보 선택)

2. Spring 설정

  • application.yml - OAuth2 클라이언트 설정 (client-id, redirect-uri 등)
  • yml형식 대신, properties 파일에 같이 설정할 수 있다.
  • build.gradle - spring-boot-starter-oauth2-client 의존성 추가

3. 클래스 구성

  • SecurityConfig - OAuth2 로그인 설정, 성공 후 리다이렉트 경로 지정
  • OAuth2UserService - 카카오에서 받은 사용자 정보를 처리하는 서비스
  • OAuthAttributes - 카카오 응답 데이터를 우리 서비스에 맞게 변환하는 DTO
  • Author - 소셜 로그인 관련 필드 추가 (provider, providerId 등)

4. 로그인 처리 흐름

[사용자] 
  ↓
  ↓  카카오 로그인 버튼 클릭
  ↓
[카카오 로그인/동의 화면]
  ↓
  ↓  인증 코드와 함께 Redirect URI로 리다이렉트
  ↓
[Spring Security]OAuth2UserService.loadUser() 호출
  ↓
[OAuthAttributes]  →  카카오 사용자 정보 변환
  ↓
[OAuth2UserService]  →  사용자 정보 저장/업데이트
  ↓
[SecurityConfig]  →  설정된 경로로 리다이렉트

5. 주요 고려사항

  • 이메일 미제공 시 대체 방안 (임시 이메일 생성 등)
  • 기존 회원과의 계정 연동 방식
  • 소셜 로그인 사용자의 추가 정보 입력 처리
  • 보안 설정 (CSRF, 세션 관리 등)

이렇게 구성된 시스템에서 실제 인증은 Spring Security가 대부분 자동으로 처리하며, 우리는 주로 사용자 정보를 우리 서비스에 맞게 처리하는 부분만 구현하면 됩다.

'잡동사니' 카테고리의 다른 글

Docker Compose 파일 관련  (0) 2025.01.08
Swagger  (1) 2025.01.05
JWT  (1) 2025.01.04
웹 서버와 WAS  (3) 2024.12.05
깃허브 - 단축키 모음  (0) 2024.11.27

댓글