Some checks failed
Build docker and publish / build (20.15.1) (push) Failing after 6m39s
feat(database): 添加用户算法和盐字段的迁移脚本 fix(subscribe): 修复服务器用户列表缓存问题,临时禁用缓存 style(model): 清理用户模型注释,简化代码结构 chore: 删除无用脚本和测试文件 docs: 添加用户绑定流程文档 perf(login): 优化设备登录性能,添加设备缓存键 fix(unbind): 修复设备解绑时的缓存清理逻辑 refactor(verify): 简化邮箱验证逻辑,移除冗余代码 build(docker): 更新Dockerfile配置,使用scratch基础镜像
21 lines
885 B
Markdown
21 lines
885 B
Markdown
用户表 user 主表
|
|
用户关联表 user_auth_methods
|
|
用户设备表 user_device
|
|
|
|
|
|
现有的逻辑:
|
|
-> 根据 token 获取当前用户ID
|
|
-> 从 token 中获取用户 获取当前用户的设备标识符
|
|
-> 检查邮箱是否已经被其他用户绑定
|
|
-> 邮箱已存在,使用现有的邮箱用户
|
|
-> 邮箱不存在,创建新的邮箱用户
|
|
|
|
----> 设备绑定逻辑
|
|
1. 更新 user_auth_methods 表 - 将设备认证方式转移到邮箱用户
|
|
2. 更新 user_device 表 - 将设备记录转移到邮箱用户
|
|
|
|
----> 完成绑定
|
|
邮箱存在的情况下:
|
|
用户设备记录 和 认证方式 都会迁移到 邮箱主用户下; 使用邮箱主用户的资源, 设备用户资源丢弃
|
|
邮箱不存在的情况下:
|
|
临时创建一个新的邮箱用户, 并将设备认证方式和记录转移到这个新用户下 |