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