본문 바로가기
DevTrust Store

Social Login Kit — Vue

카카오·네이버·구글 소셜 로그인 서버와 Vue 컴포넌트. 설치 즉시 동작하고, 기존 회원 시스템으로 전환할 수 있습니다.

VueFastifyNode.js

주요 기능

  • 카카오·네이버·구글 로그인
  • Vue 로그인 버튼·콜백·보호 화면 컴포넌트
  • PKCE·서명된 state 쿠키
  • Refresh token 회전과 재사용 감지
  • 내장 SQLite → 고객 API/DB 전환
  • 운영 점검 스크립트

무엇을 해결하나요

카카오·네이버·구글 소셜 로그인을 안전하게 붙이는 데 필요한 서버 코드와 Vue 프론트 컴포넌트를 바로 쓸 수 있는 형태로 제공합니다. 설치하면 내장 SQLite로 바로 동작하고, 나중에 고객사 회원 시스템(API 또는 DB)으로 전환할 수 있습니다.

이런 곳에 맞습니다

  • Vue와 자체 서버로 서비스를 직접 개발해 운영하는 회사 (개발자 1명 이상)
  • 소셜 로그인을 처음 붙이거나, 직접 만든 로그인 코드의 보안이 걱정되는 경우

이런 경우에는 맞지 않습니다

  • 카페24·아임웹·Wix·식스샵 등 쇼핑몰·홈페이지 빌더를 쓰는 경우: 빌더에 들어 있는 소셜 로그인 기능을 켜서 사용하세요.
  • 워드프레스 등 CMS 플러그인으로 운영하는 경우
  • 다른 회사에 납품할 결과물에 넣으려는 경우(개발 외주사): 별도로 문의해 주세요.

보안 설계

  • Authorization Code 흐름 + 서명된 state 쿠키, PKCE(카카오·구글) 적용, 토큰을 URL에 노출하지 않음
  • Access token(15분)은 프론트 메모리, Refresh token은 HttpOnly 쿠키 + DB에는 해시만 저장
  • Refresh token 회전과 재사용 감지(세션 묶음 전체 폐기), 다중 탭 동시 갱신 10초 유예
  • /auth/refresh·/auth/logout Origin 검사(CSRF 방어), returnTo 상대 경로만 허용(오픈 리다이렉트 방지)
  • provider가 인증한 이메일일 때만 기존 회원 자동 연결(계정 탈취 방지)

저장 모드

  • 기본: 내장 SQLite (DB 서버·Docker 불필요)
  • 방법 1: 고객사 회원 API 호출 (Spring, PHP 등 Node가 아닌 백엔드)
  • 방법 2: 고객 DB 기존 회원 테이블 직접 연동 (PostgreSQL/MySQL 참고 구현)

다운로드와 지원

  • 입금이 확인되면 라이선스가 발급되고, '내 다운로드'에서 바로 내려받을 수 있습니다(다운로드 주소는 10분 동안만 유효).
  • 업데이트 이용 기간과 이슈 지원 기간은 플랜별로 다르며, 결제일부터 계산합니다.

포함 구성

  • packages/core: provider 어댑터, 계정 연결 정책, 토큰 발급·회전
  • packages/server: Fastify 플러그인, SQLite 저장소, 고객 API 어댑터, 마이그레이션 도구
  • packages/client-core: 세션 복구, 토큰 자동 갱신, 탭 간 로그아웃 동기화
  • packages/client-vue: createAuth 플러그인, useAuth, SocialLoginButton, AuthCallback, authGuard(vue-router)
  • apps/api: 데모 서버와 운영 스크립트(check-env, migrate:api, verify:customer-api)
  • examples/vue-vite: Vue 3 + vue-router 로그인·콜백·보호 화면·로그아웃 예제
  • examples/direct-db-postgres: 방법 2 참고 구현
  • docs: 셀프 설치 매뉴얼, Vue 연결 가이드, provider 콘솔 설정, 마이그레이션 가이드

설치 방법

  1. 압축을 풀고 pnpm install
  2. .env.example을 .env로 복사하고 provider 키 입력
  3. pnpm check-env로 설정 점검 → pnpm dev
  4. 예제 앱(examples/vue-vite)에서 로그인 흐름 확인 후 자사 프론트에 컴포넌트 연결

지원 환경

  • Vue 3.3 이상 (Vite, Nuxt 3 SPA 모드)
  • Vue 2.7 (프레임워크 무관 클라이언트로 연결, 가이드 포함)
  • Node.js 22.13 이상 (24 LTS 권장)
  • Node.js 22.13 이상, pnpm
  • 소셜 개발자 콘솔 계정 1개 이상 (카카오·네이버·구글 중)

자주 묻는 질문

Vue 2에서도 쓸 수 있나요?

Vue 2.7은 프레임워크 무관 클라이언트(client-core)로 연결하는 가이드를 제공합니다. Vue 2.6 이하는 지원하지 않습니다.

기존 회원 DB가 있는데 연동할 수 있나요?

고객사 회원 API를 호출하는 방법과 기존 회원 테이블에 직접 연결하는 방법(PostgreSQL/MySQL 참고 구현)을 모두 제공합니다.

프로젝트가 여러 개면 어떻게 하나요?

1 라이선스는 프로젝트(서비스·앱) 1개용입니다. 같은 프로젝트의 개발·스테이징·운영 환경은 하나로 봅니다. 다른 프로젝트에 쓰려면 라이선스를 추가로 구매해 주세요.

외주로 개발해 납품하는 프로젝트에 써도 되나요?

라이선스는 구매자가 직접 개발·운영하는 프로젝트 1개에 사용할 수 있습니다. 다른 회사에 납품하는 결과물에는 쓸 수 없으니 별도로 문의해 주세요.

업데이트 이력

공개된 버전 이력이 아직 없습니다.

환불 정책

환불 및 청약철회

  • 다운로드 전: 결제일로부터 7일 안에 전액 환불해 드립니다.
  • 다운로드 후: 디지털 콘텐츠의 특성상 청약철회가 제한됩니다(전자상거래법 제17조 제2항 제5호). 주문 단계에서 이 내용을 고지하고 동의를 받습니다.
  • 상품 하자: 표시·광고 내용과 다르거나 계약 내용과 다르게 이행된 경우, 공급받은 날부터 3개월 이내 또는 그 사실을 안 날(알 수 있었던 날)부터 30일 이내에 청약철회할 수 있습니다.
  • 환불이 완료되면 해당 주문의 라이선스와 다운로드 권한은 즉시 정지됩니다.
  • 환불은 입금하신 계좌로 영업일 기준 3일 안에 처리합니다.

초안입니다. 법령·사업자 정보 확인 후 확정합니다.