카카오 로그인 구현 절차
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
- 카카오 응답 데이터를 우리 서비스에 맞게 변환하는 DTOAuthor
- 소셜 로그인 관련 필드 추가 (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 |
댓글