Supabase с аутентификацией JWT из клиента Python не работает с RLSPython

Программы на Python
Anonymous
Supabase с аутентификацией JWT из клиента Python не работает с RLS

Сообщение Anonymous »

У меня проблема с Supabase, связанная с RLS.
В моей серверной части Python я настраиваю клиент supabase и получаю пользователя на основе JWT jwt, передаваемого внешним интерфейсом:

Код: Выделить всё

user = supabase.auth.get_user(jwt)
user_id = user.dict().get("user").get("id")

response = (
supabase
.table("users")
.update({"credits": 10})
.eq("user_id", user_id)
.execute()
)
Без RLS это работает нормально, строка обновляется успешно.
Однако при использовании следующих правил RLS ничего не изменяется и возвращается 0 строк:

Код: Выделить всё

create policy "Everybody can select users."
on users for select
using ( true );

create policy "Users can update own user."
on users for update
using ( auth.uid() = user_id );
Что я делаю не так? Очевидно, мне придется использовать какое-то правило RLS... Но я думаю, что проверка аутентификации ( auth.uid() = user_id ) не совпадает при использовании JWT.
Я думаю, мне также нужно передать JWT клиенту supabase, поэтому он включается во все запросы, но я не знаю, как это сделать!
Помогите!?

Подробнее здесь: https://stackoverflow.com/questions/780 ... k-with-rls

Вернуться в «Python»