본문 바로가기

TIL

TIL 23.08.07 Supabase 설정

문제점

supabase 로 데이터베이스에 값을 추가한 후, fetch 했는데 401 에러 뜨면서 데이터가 불러와지지 않는 현상이 있었음.

401 에러는 인증과 관련된 문제였기에, api 키나 url 이 잘못 작성되었거나 권한에 문제가 생겼거나 원인이라고 생각하였다.

 

시도해본것

1. 인증 : 코드 문제인가 하여 코드도 처음부터 지웠다가 다시 써봤고, API 키 혹은 URL 도 다시 작성했으나 이것 문제는 아니었다.

2. 권한 : 권한 문제는 보통 api 키를 사용하기 전에, 사용하고자 하는 서버 도메인을 작성하거나 해서 localhost:3000 을 넣어야 할 곳을 찾아보았다. 그치만 아니었음

 

해결방안

Supabase RLS (Row-Level Security)은 데이터베이스 시스템에서 사용되는 개념으로, 데이터베이스 테이블의 각 행에 대한 접근 권한을 세밀하게 제어하는 메커니즘. RLS는 특정 사용자나 그룹에 대한 접근을 제한하거나, 특정 조건을 충족하는 행만 보이도록 필터링하는 등의 작업을 가능하게 한다.

Supabase에서는 이 RLS 개념을 활용하여 데이터베이스 테이블의 행에 대한 접근을 제어할 수 있다.  각 사용자에게 해당 사용자가 접근할 수 있는 행만 보이게 하거나 수정할 수 있도록 설정할 수 있다.

 

Database -> 테이블에 있는 연필모양 ->  체크박스 해제

 

알게된것

데이터베이스마다 접근하고  사용하는 방법이 제각각이니 관련 문서 꼭 읽어보고 사용해야겠다. supabase 랑 typescript 같이 쓰면서 새로운 개념을 쓰다보니 머리가 많이 아픈데 .. 적응을 해야겠다.