gpt4 book ai didi

supabase - 限制 Supabase 注册到特定域

转载 作者:行者123 更新时间:2023-12-05 04:32:47 32 4
gpt4 key购买 nike

Supabase url 和匿名 token 很容易从任何使用它们的站点检索。这通常不是内部表的问题,因为您可以设置 RLS 来限制用户查看/修改/删除这些表上的数据。但是我找不到任何可以将 supabase.auth.signUp() 函数锁定到特定域的地方。我需要这个来限制某人窃取我的凭据,建立一个单独的站点并通过注册随机用户来淹没我的用户。我已经想出如何一起限制注册,但这不是我想要的,除非我在将此功能移至服务器并改用服务 key 时遗漏了一些东西。

将我的 supabse 实例的注册限制为仅限我域中的用户或我认为异常(exception)的用户的最佳方法是什么?

最佳答案

我找到了一个带有触发器的解决方案。

您需要创建一个新函数:

CREATE FUNCTION
public.check_user_domain()
RETURNS TRIGGER AS
$$
BEGIN
IF NEW.email NOT LIKE '%@test.com' THEN
raise exception 'INCORRECT_DOMAIN';
END IF;

RETURN NEW;
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;

创建触发器:

CREATE TRIGGER
check_user_domain_trigger
before INSERT ON auth.users
FOR EACH ROW
EXECUTE PROCEDURE
public.check_user_domain();

我在我的应用程序上对其进行了测试,它可以正常工作。

我在 Youtube 上录制了一段短片: https://youtu.be/C-HoRO7Wrhg

希望对您有所帮助。

关于supabase - 限制 Supabase 注册到特定域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71591949/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com