Next.js, REST API 및 보안 쿠키를 사용하여 Spotify 통합 구축하기
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
웹 개발
대상자
- 웹 개발자, 프론트엔드/백엔드 개발자, API 통합에 관심 있는 개발자
- 중급 이상의 Next.js 및 REST API 경험을 가진 개발자
핵심 요약
- Next.js (App Router) 및 Spotify Web API를 사용한 실시간 음악 데이터 통합
- HTTP-only 쿠키와 JWT (JSON Web Token)을 활용한 보안 인증 구현
- Dev.to API 연동을 통한 블로그 자동 업데이트 기능 도입
- 프로덕션 환경에서의 환경 변수 관리 및 API 타입 안전성 강화
섹션별 세부 요약
1. 프로젝트 목적
- 사용자의 음악 활동 (현재 플레이 중인 곡, Top Tracks, 연결된 디바이스)을 웹사이트에 실시간으로 표시
- Dev.to API 연동으로 포트폴리오 내 블로그 자동 업데이트 기능 구현
- 사이트의 개인화 및 상호작용성 향상
2. 사용 기술
- Next.js (App Router): 프론트엔드/백엔드 통합 개발
- TypeScript: 타입 안전성 및 유지보수성 강화
- Spotify Web API: 음악 데이터 및 디바이스 정보 접근
- HTTP-only 쿠키: 액세스 토큰 및 리프레시 토큰 보안 저장
- JWT: 자동 세션 업데이트 및 인증 관리
- Axios: Spotify API 요청 처리
- Dev.to API: 블로그 자동 업로드 기능
3. 보안 구현
- HTTP-only 쿠키: JavaScript 접근 제한으로 민감 정보 보호
- JWT 기반 세션 관리:
/api/refresh
엔드포인트를 통한 자동 세션 갱신 - 환경 변수 관리: Vercel 등 프로덕션 환경에서의
Environment variable not found
오류 대응
4. 기술 학습 포인트
- 외부 API 타입 안전성 강화:
any
타입 사용 제거 및dotenv
활용 - 쿠키 검증: 로그인 버튼 조건부 표시를 위한 쿠키 검증 로직
- 데이터 처리 fallback: 누락된 데이터에 대한 대체 처리 로직 구현
5. 향후 개선 방향
- SWR 또는 React Query 활용: 캐시 및 성능 최적화
- 관리자 대시보드 추가: 음악 데이터 관리 기능 구현
- YouTube Music 연동: 대체 음악 플랫폼 통합
- 블로그 확장: 클린 아키텍처, NestJS, Docker + AWS 자동화 관련 콘텐츠 추가
결론
- Next.js, Spotify Web API, JWT 기반의 보안 인증 구현은 웹 애플리케이션에서 실시간 데이터 통합과 사용자 인증에 유용
- Dev.to API 연동은 포트폴리오의 블로그 관리 효율성 향상에 기여
- 프로덕션 환경에서의 환경 변수 관리 및 타입 안전성 강화는 필수적인 개발 실천 요소