빌드 로그 🛠️

Supabase RLS와 Next.js App Router 연동 과정

F
Frontend Engineer
·2024-02-15

보안이 생명인 B2B 플랫폼

데이터 격리는 멀티테넌트 환경에서 가장 중요한 요소입니다. Supabase RLS는 이를 데이터베이스 계층에서 깔끔하게 해결해줍니다.

Next.js App Router에서의 도전 과제

서버 컴포넌트(RSC) 환경에서는 쿠키 기반 세션 관리가 까다롭습니다. @supabase/ssr 패키지를 도입하고 미들웨어에서 토큰을 갱신하는 로직을 세밀하게 조정해야 했습니다.

// Middleware Token Refresh
const supabase = createServerClient(url, key, { ... })
await supabase.auth.getUser() // Important for refreshing cookies

결과적으로 프론트엔드 코드 없이 데이터베이스 정책만으로 완벽한 테넌트 격리를 달성했습니다.