Scroll to top
1 / 3

꼬꼬마특공대

최고의 게임 경험을 제공합니다.

통합 로그인

Google, Apple, Facebook, GitHub, Kakao 등 다양한 소셜 로그인 지원

게임 계정 관리

모든 게임 계정을 한 곳에서 쉽게 관리하고 추적하세요

계정 병합

분리된 계정을 안전하게 병합하여 데이터를 통합하세요

Primary: Cosmos 내부 백본·Secondary: 오픈 SSO SaaSFree tier 1,000 MAU

Kakao 로그인 10분 만에 붙이기

Duckring SSO를 통해 Kakao OAuth를 프로젝트에 바로 연동하세요. 복붙 가능한 코드 스니펫 제공 — 설정 없이 바로 사용.

kakao-login.ts
// 1. Supabase 클라이언트 초기화 (app/lib/supabase.ts)
import { createBrowserClient } from '@supabase/ssr'

export const supabase = createBrowserClient(
  process.env.NEXT_PUBLIC_SUPABASE_URL!,
  process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY!
)

// 2. Kakao 로그인 버튼 핸들러
async function signInWithKakao() {
  const { error } = await supabase.auth.signInWithOAuth({
    provider: 'kakao',
    options: {
      redirectTo: `${process.env.NEXT_PUBLIC_SITE_URL}/auth/callback`,
    },
  })
  if (error) console.error('Kakao 로그인 실패:', error.message)
}

// 3. 콜백 라우트 (app/auth/callback/route.ts)
import { createServerClient } from '@supabase/ssr'
import { NextResponse } from 'next/server'
import type { NextRequest } from 'next/server'

export async function GET(request: NextRequest) {
  const { searchParams, origin } = new URL(request.url)
  const code = searchParams.get('code')
  if (code) {
    const supabase = createServerClient(/* ... */)
    await supabase.auth.exchangeCodeForSession(code)
  }
  return NextResponse.redirect(`${origin}/dashboard`)
}
Google · Apple · Facebook · GitHub · Kakao 동시 지원
RLS + 계정 병합 내장
Free tier 1,000 MAU