3.7 KiB
3.7 KiB
注册问题调试指南
🔍 当前问题
修改配置后,注册仍然没有创建用户记录。
📋 检查清单
1. 确认配置已修改并重启服务
# 检查配置
cd supabase_pro
grep ENABLE_EMAIL_AUTOCONFIRM .env
# 应该显示: ENABLE_EMAIL_AUTOCONFIRM=true
# 重启服务(必须)
docker-compose restart auth
# 或者
docker-compose restart
2. 检查 Supabase 服务是否正常运行
cd supabase_pro
docker-compose ps
确保 auth 服务状态为 Up。
3. 检查服务日志
# 查看 auth 服务日志
docker-compose logs auth --tail=50
# 查看是否有错误
docker-compose logs auth | grep -i error
4. 验证配置是否生效
在 Supabase Dashboard (http://192.168.1.61:3000) 的 SQL Editor 中执行:
-- 检查当前配置(需要访问 GoTrue 配置)
-- 注意:这个查询可能无法直接执行,但可以通过 API 检查
或者直接测试注册,查看返回结果。
🔧 调试步骤
步骤 1:检查前端配置
确认 ak/config.uts 中的配置正确:
export const SUPA_URL: string = 'http://192.168.1.61:8000'
export const SUPA_KEY: string = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...'
步骤 2:测试注册并查看日志
- 打开浏览器开发者工具(F12)
- 切换到 Console 标签
- 尝试注册新用户
- 查看控制台输出:
📝 signUp HTTP 状态码: ...📝 注册返回结果: ...📝 错误代码: ...✅ 找到 user 字段: ...或⚠️ 未找到 user 信息
步骤 3:检查返回结果
根据控制台日志,判断:
情况 A:HTTP 状态码 200,有 user 字段
- ✅ 注册成功
- 检查
ak_users表是否有记录 - 如果没有,检查
ensureUserProfile是否被调用
情况 B:HTTP 状态码 500,错误信息包含 "confirmation email"
- ❌ 配置未生效或服务未重启
- 需要重启 Supabase Auth 服务
情况 C:HTTP 状态码 400,错误信息包含 "already registered"
- ⚠️ 用户已存在
- 尝试登录或使用其他邮箱
🐛 常见问题
问题 1:配置已修改但服务未重启
症状:仍然返回 500 错误
解决:
cd supabase_pro
docker-compose restart auth
# 等待几秒钟让服务启动
docker-compose ps # 确认服务已启动
问题 2:服务重启失败
检查:
docker-compose logs auth
可能原因:
- 配置文件语法错误
- 端口被占用
- Docker 服务未运行
问题 3:注册成功但 ak_users 没有记录
检查:
- 查看控制台是否有
✅ 用户资料创建成功日志 - 如果没有,检查
ensureUserProfile是否被调用 - 检查 RLS 策略和触发器是否已创建
📝 已改进的代码
-
signUp方法:- ✅ 添加 HTTP 状态码检查
- ✅ 添加详细日志
- ✅ 返回错误信息时包含状态码
-
注册页面:
- ✅ 添加更详细的日志输出
- ✅ 检查所有可能的返回结构
- ✅ 明确错误提示
🎯 下一步操作
-
重启 Supabase Auth 服务(如果还没重启)
-
测试注册,查看控制台日志
-
根据日志判断问题:
- 如果 HTTP 状态码是 200 且有 user,说明注册成功
- 如果 HTTP 状态码是 500,说明配置未生效,需要重启服务
- 如果 HTTP 状态码是 400,可能是用户已存在或其他错误
-
检查数据库:
-- 检查 auth.users 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;