Supabase 통합 방법
Logto를 Supabase와 통합하여 애플리케이션의 인증 경험을 향상시키는 방법을 배워보세요.
Logto는 애플리케이션에 대한 안전하고, 종합적이며 사용자가 쉽게 로그인할 수 있도록 지원하는 현대적인 ID 인증 서비스 제공자입니다. Logto는 다양한 프레임워크와 프로그래밍 언어를 아우르는 SDK 및 통합 가이드를 제공하며, 몇 분 안에 엔터프라이즈급 ID 인증 서비스를 애플리케이션에 원활하게 통합할 수 있습니다.
이 글은 주로 Supabase와 Logto를 어떻게 통합할 수 있는지에 대해 자세히 설명하는 것을 목표로 합니다.
Supabase 기본 사항
Supabase는 데이터 접근 권한을 제어하기 위해 Postgres의 Row-Level Security를 사용합니다. 간단히 말해서, 데이터베이스의 테이블에 대해 Row Level Security 정책을 만들면, 특정 사용자가 테이블에서 데이터를 읽고, 쓰고, 업데이트할 수 있는지를 제한하고 관리할 수 있습니다.
예를 들어, 데이터베이스에 "posts"라는 테이블이 있으며, 다음과 같은 내용을 포함하고 있다고 가정해 봅시다:
테이블의 user_id
필드는 각 포스트 데이터가 어떤 사용자에게 속해 있는지를 나타냅니다. user_id
필드를 기반으로 각 사용자가 자신의 포스트 데이터만 접근할 수 있도록 제한할 수 있습니다.
그러나 이를 구현하기 전에 Supabase가 데이터베이스에 접근하는 현재 사용자를 식별할 수 있어야 합니다.
Supabase 요청에 사용자 데이터 추가하기
JWT를 지원하는 Supabase 덕분에, 우리의 애플리케이션이 Supabase와 상호작용할 때, Supabase에서 제공하는 JWT 비밀 키를 사용하여 사용자 데이터를 포함한 JWT를 생성할 수 있습니다. 그런 다음 이 JWT를 요청할 때 인증 헤더로 사용합니다. 요청을 받으면 Supabase는 JWT의 유효성을 자동으로 확인하고, 이후 프로세스 전체에서 JWT에 포함된 데이터에 대한 접근을 허용합니다.
먼저, Supabase 대시보드의 “프로젝트 설정”에서 Supabase가 제공하는 JWT 비밀 키를 얻을 수 있습니다: