1. 프로젝트 소개
- 프로젝트 명 : 소셜 로그인 구현하기
- 동기 : 소셜 로그인 방법을 정리하기 위한 프로젝트
- 목표 : Spring Boot를 사용하여 대표적인 소셜 로그인 3사 Kakao, Naver, Google 구현해보기
- 개발 기간
- 2024.10.17 ~ 2024.10.24 ( 1차: 소셜로그인 구현 )
- 2024.11.5 ~ 2024.11.12 ( 2차: 소셜로그인 개선 )
- 파일 경로 최적화 & API 분리
- JavaScript 변수(메모리)에 accessToken 저장
- 소셜로그인 중 중간 페이지(
ConnectPage.jsx
)에서 중간 로직을 처리해 기존 쿼리 스트링에 accessToken이 보이는 문제 해결
- 새로고침시 refeshToken을 사용해 accessToken 재발행 로직 추가
- 로그아웃 구현
- 소개
- 한 줄 정리 : 소셜 로그인 구현
- 핵심 기능
- FE) 카카오, 네이버, 구글 소셜 로그인 버튼
- BE) Spring Boot를 사용해 카카오, 네이버, 구글 소셜 로그인
- BE) 로그아웃 기능
- FE) 액세스 토큰이 저장된 메모리 비우기
- BE) 리프레시 토큰이 저장된 쿠키 제거
- 추가할 기능
- FE) 사용자가 로그인하지 않은 상태에서
/Home
으로 접근할 경우, 로그인 페이지로 리다이렉트 로직
- BE) JWT에 권한 추가(admin, user, guest 등)
- guest의 경우 accessToken만 발급하도록 설정
- BE) Spring Security의 JWT Filter를 사용하도록 변경하기
🗃️ Github
https://github.com/pastjung/Social-Login
📽️ 시연 영상
🗒️ 사용한 프로젝트
[Open-Lawyer] 인하대 컴퓨터공학 종합설계 프로젝트 ( 2024.09.04 ~ 2024.12.17 )
2. 기획 관련 메모
소셜 로그인이란?
소셜로그인 구현 ( 2024.10.24 )
Kakao 소셜 로그인 설정 방법
Naver 소셜 로그인 설정 방법
Google 소셜 로그인 설정 방법
3. 기술 스택 정리
[Frontend] Vite + React
[FE] React
[Backend] Spring Boot
소셜로그인
🙋♂️Introduction
🥇 MVP 목표
소셜 로그인 구현
- Kakao: <https://developers.kakao.com/>
- Naver: <https://developers.kakao.com/console/app>
- Google: <https://console.cloud.google.com/welcome?hl=ko&organizationId=0>
JWT 토큰 생성 사이트: <https://jwt.io/>
🖥️ 개발 환경
# Environmental Development
- Java 17
- Gradle 8.4
- MySQL 8.0.3
- Spring Boot 3.2.4
- React 20.11.1
# Tools
- IntelliJ IDEA
- Visual Studio Code
# Community
- Notion
- Slack
- Github