supabase - new row violates row-level security policy for table 에러

임보라·2024년 10월 24일

Supabase

목록 보기
1/2


supabase API 코드 작성 후 CRUD를 테스트하기 위해 API 요청을 하였으나 에러 문구와 함께 요쳥이 제대로 가지 않음

문제원인)

  • 기본 RLS 정책을 사용하면서 정작 해당 테이블에 관련 보안정책에 대한 설정을 하지 않았기에 default값으로 데이터에 대한 접근을 막아버려 해당 에러가 발생한 것
  • RLS 정책 에서 CRUD 활성화 조건을 user_id를 기준으로 걸어둔 상태로
    로그인기능이 아직 구현되지않아 임의로 변수를 넣어서 테스트중이었는데
    이렇게 했을 때 로그인인증처리가 되지않아서 오류가 난것이다.

해결방법)

1. 왜래키 지정해주기

: 스키마 > auth > users의 id랑 내 테이블의 user_id랑 연결해주기

2. RLS 정책 설정

  • 원래는 CRUD 활성화 조건을 user_id를 기준

  • 삭제
  • 추가
  • 가져오기
  • 업데이트

!! 로그인기능이 구현되지않은 상황에서 테스트하려면 임의로 public 으로 변경해둔 뒤 추후 로그인기능구현 완료시 authenticated 로 변경하기
!! ((SELECT auth.uid() AS uid) = userid) -> _true로 변경해야 로그인기능 임시로 하면서 테스트가능

0개의 댓글