Supabase의 주요 기능

코딩로그·2025년 3월 12일

Supabase는 Firebase와 유사한 Backend-as-a-Service(BaaS)로,
인증(Authentication), 데이터베이스, 저장소, 실시간 기능을 제공하는 서비스이다.
로그인 기능을 구현하면서 Supabase 인증(Auth) 시스템auth.signOut()이 실제로 어떻게 동작하는지 살펴봤다.


Supabase 주요 기능

(1) 인증(Authentication)

📌 supabase.auth를 사용하여 유저 로그인, 회원가입, 로그아웃 등의 기능을 제공

기능설명
supabase.auth.signUp({ email, password })이메일 & 비밀번호 회원가입
supabase.auth.signInWithPassword({ email, password })이메일 & 비밀번호 로그인
supabase.auth.signInWithOAuth({ provider })소셜 로그인 (Google, Kakao 등)
supabase.auth.getUser()현재 로그인한 유저 정보 가져오기
supabase.auth.signOut()로그아웃 (세션 삭제)

(2) 데이터베이스 (PostgreSQL)

📌 supabase.from("테이블명")을 사용하여 데이터를 가져오거나 삽입 가능

기능설명
supabase.from("users").select("*")모든 유저 데이터 조회
supabase.from("users").insert({ name: "홍길동", email: "test@email.com" })새로운 데이터 삽입
supabase.from("users").update({ name: "김철수" }).eq("id", 1)특정 데이터 수정
supabase.from("users").delete().eq("id", 1)특정 데이터 삭제

(3) 파일 저장소 (Storage)

📌 supabase.storage를 사용하여 파일 업로드, 삭제, 다운로드 가능

기능설명
supabase.storage.from("avatars").upload("파일명", file)파일 업로드
supabase.storage.from("avatars").getPublicUrl("파일명")파일 URL 가져오기
supabase.storage.from("avatars").remove(["파일명"])파일 삭제

Supabase 로그아웃 & 로그인 흐름

1️⃣ 로그인 시

  • signInWithPassword({ email, password }) 실행
  • Supabase에서 JWT(토큰) 발급
  • 로컬 스토리지에 토큰 저장 (sbKey)
  • getUserInfo()로 유저 정보 가져오기

2️⃣ 로그아웃 시

  • signOut() 실행
  • Supabase에서 세션 삭제
  • 로컬 스토리지에서 인증 데이터 삭제
  • getUserInfo() 호출 시 null 반환

profile
hello world!

0개의 댓글