我来自Firebase Function...在那里我可以使用Admin Library绕过所有安全规则从Function访问数据库?在supbase上我还没有找到这样做的方法,文档非常少。现在我使用以下代码作为请求函数的用户从function访问数据库:
const supabaseClient = createClient(
Deno.env.get("SUPABASE_URL") ?? "",
Deno.env.get("SUPABASE_ANON_KEY") ?? "",
{ global: { headers: { Authorization: req.headers.get("Authorization")! } } }
);
但对于我的一个函数,我必须访问绕过所有策略,因为该函数是“管理”,当我删除此代码中的第三个参数行(这是唯一模糊的解释如何做到这一点,我发现)我得到错误:
验证应用程序错误:无效声明:在...处丢失子索赔
我还尝试将SUPABASE_ANON_KEY
更改为SUPABASE_SERVICE_ROLE_KEY
,同样的错误。
1条答案
按热度按时间t40tm48m1#
使用服务角色密钥可以绕过安全规则,请确保您具有有效的服务密钥角色。
您正在使用的密钥**Deno.env.get(“SUPBASE_ANON_KEY”)??**它具有匿名访问权限,不会绕过安全规则。
将**“SUPBASE_SERVICE_ROLE_KEY”**替换为的实际服务角色密钥值以绕过安全规则。