我正在尝试在启用 RLS 并Enable insert for authenticated users only
添加策略的表中插入一行。不幸的是,即使我正确登录,我也无法插入。
重现步骤:
- 创建提交表
create table submission (
stuff text
);
- 启用 RLS
alter table submissions
enable row level security
- 添加策略
CREATE POLICY "Enable insert for authenticated users only" ON public.submissions FOR INSERT WITH CHECK (auth.role() = 'authenticated');
在客户端,我使用魔术链接登录(该对象已正确添加到本地存储中,所以我知道我已登录)
我尝试插入
const { data, error } = await supabase
.from("submissions")
.insert({ stuff: 'hello' });
Authorization Bearer <Jwt>
存在于 http 调用中。
- 但我得到了错误
{
"hint":null,
"message":"new row violates row-level security policy for table \"submissions\"",
"code":"42501",
"details":null
}
我在这里做错了什么?