使用Supabase Auth创建用户时遇email_address_not_authorized错误求助
错误原因
这个错误核心是你的Supabase项目对注册邮箱做了权限限制——要么配置了邮箱域名白名单,要么开启了特定邮箱验证规则,导致当前使用的邮箱不在允许注册的范围内。
排查修复步骤
- 检查Supabase后台的Auth域名限制:
- 登录Supabase项目控制台,进入「Authentication」→「Settings」页面
- 找到「Email Auth Providers」板块,查看是否开启了「Restrict email domains」
- 若开启,确认你用的邮箱域名在「Allowed email domains」列表里
- 同时检查「Blocked email domains」,排除邮箱域名被误拉黑的情况
- 确认注册方式权限:
如果你配置了第三方登录(比如Google、GitHub),检查是否设置了仅允许第三方登录,禁用了邮箱密码注册的选项 - 验证邮箱格式有效性:
虽然报错不是格式问题,但仍要确认data.userEmail是合法格式的邮箱,避免数据传递错误触发限制
快速测试代码
可以先替换成硬编码的测试邮箱,排除前端数据传递的问题:
const { data: userData, error: userError } = await supabase.auth.signUp({ email: "your-test-email@example.com", password: "TestPass123!", }); if (userError) console.error(userError);
内容的提问来源于stack exchange,提问作者Code on the Rocks
相关产品推荐
相关产品推荐

