자체 구현한 SSO 시스템에 Google 로그인 붙이기 계획
- 프론트엔드 (Next.js) ⟶ 내 SSO 서버 ⟶ User DB
- 사용자 정보가 Next.js 안에만 머물고
- SSO 서버는 모르게 됨 → 로그인/세션 관리 이중화 발생
- 중앙 사용자 인증 관리 불가
- Google 로그인도 SSO가 처리
- 사용자 정보를 DB에 통합 저장 가능
- 프론트엔드는 기존 SSO 토큰 기반 인증 그대로 유지 가능
✅ 권장 아키텍처 (SSO 서버 중심)
1
2
3
4
5
6
7
8
9
10
11
12
[사용자]
↓ (Google 로그인 클릭)
[Next.js 프론트엔드]
↓ (리디렉션)
[내 SSO 서버 - /auth/google]
↓ (OAuth 처리)
[Google]
↓ (callback)
[내 SSO 서버 - /auth/google/callback]
↓ (내 DB에 저장 + 내 토큰 발급)
[Next.js 프론트엔드 - SSO 토큰 수신]
- passport-google-oauth20 또는 직접 OAuth2 흐름 구현
- 기존 로그인 로직에 “social login” 분기 추가
- 기존 유저 테이블에 저장 또는 업데이트
- 기존 SSO 방식대로 access token 발급
- 기존처럼 SSO 서버의 /login/google 링크 클릭
- 리디렉션 처리 및 JWT 수신
📌 예외: 빠른 테스트만 하고 싶을 때에는 Next.js에 next-auth로 Google 붙이는 것도 OK. 하지만 실서비스 전에는 결국 SSO 서버로 통합해야 함
✅ 결론
| 목적 | 구현 위치 |
|---|---|
| 빠른 테스트, 샘플 앱 | Next.js에 직접 Google 로그인 |
| 실서비스, 사용자 DB 통합 | SSO 서버에 Google 로그인 붙이기 ✅ |
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
