我一直在寻找一种在数据库中实现RBAC的方法,然后我偶然发现了this。然而,当我试图在新用户的insert上运行的触发器函数中运行set_claim时,我得到了函数不存在的错误。有一个开放的问题here,但想知道是否有人可以帮助,甚至与一些工作周围。
insert
set_claim
错误:
功能:
触发器:
sg2wtvxw1#
我写了自定义索赔库,听起来你没有正确安装功能。您是否复制了install.sql文件的内容并在Supabase Jmeter 板的Query Editor屏幕中运行了该文件?这应该解决你的问题。
install.sql
nimxete22#
我看到你正在尝试更新JWT元数据。我也遇到了同样的问题,一个解决方案是不使用set_claims函数,而是在这个函数中运行更新。在本例中,user_role是ROLE_NAME,但可以替换它或从其他表中选择它。NEW.user_id是当前记录的user_id字段值。请确保在创建新记录或更新后运行此命令。
BEGIN update auth.users set raw_app_meta_data = raw_app_meta_data || json_build_object('user_role', '"ROLE_NAME"')::jsonb where id = NEW.user_id; RETURN NEW; END;
2条答案
按热度按时间sg2wtvxw1#
我写了自定义索赔库,听起来你没有正确安装功能。您是否复制了
install.sql
文件的内容并在Supabase Jmeter 板的Query Editor屏幕中运行了该文件?这应该解决你的问题。nimxete22#
我看到你正在尝试更新JWT元数据。我也遇到了同样的问题,一个解决方案是不使用set_claims函数,而是在这个函数中运行更新。
在本例中,user_role是ROLE_NAME,但可以替换它或从其他表中选择它。NEW.user_id是当前记录的user_id字段值。请确保在创建新记录或更新后运行此命令。