2.1 KiB
2.1 KiB
立即修复注册问题
🚨 当前问题
注册时返回 500 错误,Supabase 中没有创建用户记录。
原因:
ENABLE_EMAIL_AUTOCONFIRM=false- 需要发送确认邮件- SMTP 配置错误(
supabase-mail服务无法发送邮件) - 当邮件发送失败时,Supabase 不会创建用户
✅ 立即解决方案
步骤 1:修改 Supabase 配置
编辑文件:supabase_pro/.env
找到这一行:
ENABLE_EMAIL_AUTOCONFIRM=false
改为:
ENABLE_EMAIL_AUTOCONFIRM=true
步骤 2:重启 Supabase Auth 服务
cd supabase_pro
docker-compose restart auth
或者重启整个 Supabase:
docker-compose restart
步骤 3:验证配置
# 检查配置是否生效
grep ENABLE_EMAIL_AUTOCONFIRM supabase_pro/.env
应该显示:ENABLE_EMAIL_AUTOCONFIRM=true
步骤 4:测试注册
- 在前端注册新用户
- 应该看到 "注册成功" 提示
- 自动跳转到登录页面
- 使用注册的邮箱和密码登录
- 应该可以成功登录
🔍 验证用户是否创建
在 Supabase Dashboard (http://192.168.1.61:3000) 的 SQL Editor 中执行:
-- 检查最新注册的用户
SELECT id, email, email_confirmed_at, created_at
FROM auth.users
ORDER BY created_at DESC
LIMIT 5;
-- 检查 ak_users 表
SELECT id, email, username, created_at
FROM ak_users
ORDER BY created_at DESC
LIMIT 5;
📝 配置说明
开发环境推荐配置
## Email auth
ENABLE_EMAIL_SIGNUP=true
ENABLE_EMAIL_AUTOCONFIRM=true # 跳过邮件验证,注册后立即可以登录
优点:
- ✅ 注册后立即可以登录
- ✅ 无需配置 SMTP 服务
- ✅ 适合开发和测试
生产环境配置
如果需要邮件验证,配置真实的 SMTP 服务:
ENABLE_EMAIL_AUTOCONFIRM=false
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=your-smtp-user
SMTP_PASS=your-smtp-password
⚠️ 重要提示
修改配置后必须重启 Supabase Auth 服务,否则配置不会生效。
cd supabase_pro
docker-compose restart auth