VIBEBASE Docs
기능

인증 시스템

인증 시스템

VIBEBASE는 Supabase Auth를 기반으로 안전하고 확장 가능한 인증 시스템을 제공합니다.

인증 방식

이메일/비밀번호 로그인

기본 인증 방식으로 이메일과 비밀번호를 사용합니다.

// 로그인 예시
const { data, error } = await supabase.auth.signInWithPassword({
  email: 'user@example.com',
  password: 'password123',
});

소셜 로그인

Google, GitHub 등 OAuth 제공자를 통한 로그인을 지원합니다.

역할 기반 권한

사용자는 다음 세 가지 역할 중 하나를 가집니다:

역할설명권한
user기본 사용자개인 대시보드 접근
admin관리자사용자 조회/수정
super_admin최고 관리자모든 권한 (삭제, 역할 변경, 설정)

보호된 라우트

인증 필수 라우트

/auth/* 외의 모든 라우트는 인증이 필요합니다. 미인증 사용자는 /auth/login으로 리다이렉트됩니다.

관리자 전용 라우트

/admin/* 라우트는 admin 또는 super_admin 역할이 필요합니다.

역할 확인 헬퍼

import { isAdmin, isSuperAdmin, requireAdmin } from '@/lib/admin/auth';

// 역할 확인
if (await isAdmin()) {
  // 관리자 전용 로직
}

// 역할 필수 (미충족 시 에러)
await requireAdmin();

On this page