# CloudBase 认证迁移实战 (2026-07-29)

## 架构
旧：硬编码 `DEFAULT_USERS` + 统一密码 `biori2026`
新：CloudBase `user_roles` 集合 → 前端 `cbDb.collection('user_roles').where({email}).get()`

## 初始化步骤
1. CloudBase 控制台 → 登录授权 → 开启匿名登录
2. 数据库 → 新建 `user_roles` 集合
3. 权限：`{"read":"auth!=null","write":"auth!=null"}`
4. Chrome 打开 `http://127.0.0.1:8765/工具/init_users.html` → 批量导入

## 关键陷阱
| 陷阱 | 现象 | 修复 |
|------|------|------|
| `password` 字段名 | CloudBase 自动屏蔽，返回 `***` | 用 `pwd` |
| SDK CDN `imgcache.qq.com` | 飞书 WebView 白屏 | 用 `static.cloudbase.net` |
| 首次初始化死锁 | 空库无法登录→无法初始化 | admin 页检测空库自动跳过登录 |
| `sed s/password/pwd/g` | `type="password"` → `type="pwd"` | 追加 `sed 's/type="pwd"/type="password"/g'` |
| HTTP API 匿名登录 | INVALID_PARAM | 必须 JS SDK 在浏览器执行 |
