☁️ goormTIL | Web #45

매루·2025년 11월 12일

goormTIL

목록 보기
43/67
post-thumbnail

📅 2025-11-12

➡️ Supabase에 대해 새롭게 알게 된 것 또는 헷갈리는 부분 정리


🔎 학습 리마인드

📌 Supabase Auth

  • Supabase는 auth 객체를 통해 인증 기능 제공
  • 로그인하면 세션(session)이 생성되어 유지됨
  • 이 세션은 토큰 형태로 브라우저에 저장됨

💡 회원가입 (signUp)

🔗 https://supabase.com/docs/reference/swift/auth-signup

await supabase.auth.signUp({ email, password });
  • 이메일과 비밀번호로 회원 생성
  • 기본적으로 이메일 인증 절차가 있는데, 무료 버전에서 과도한 요청이 있으면 제한되므로 해제하면 좋음

💡 로그인 (signInWithPassword)

🔗 https://supabase.com/docs/reference/dart/auth-signinwithpassword

await supabase.auth.signInWithPassword({ email, password });
  • 입력된 이메일/비밀번호가 Supabase에 존재하면 세션 발급
  • 이후 API 요청 시 자동으로 해당 세션 사용
  • 세션은 브라우저 새로고침 후에도 유지됨 (getSession으로 복원 가능)

💡 로그아웃 (signOut)

🔗 https://supabase.com/docs/reference/javascript/auth-signout

await supabase.auth.signOut();
  • 세션을 삭제하여 인증 상태 초기화

💡 로그인 상태 유지 (세션 관리)

함수역할
getSession()현재 로그인된 세션(토큰) 가져오기
onAuthStateChange()로그인 / 로그아웃 / 세션만료 시 자동 감지
  • 이 두 가지를 합쳐서 Context 기반 전역 상태로 관리하면 로그인 여부를 모든 페이지에서 일관성 있게 확인할 수 있음

0개의 댓글