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