用户
理解用户如何用稳定 UID 接入,以及 WuKongIM 与业务账号系统各自负责什么。
用户(User)是 WuKongIM 中发送和接收消息的身份,用 UID 唯一标识。它可以代表真实用户,也可以代表客服、机器人、Agent 或其他受信服务身份。
UID 来自你的业务系统。WuKongIM 使用它进行连接、路由、设备关联和消息投递,但不会替代注册登录、用户资料或业务权限系统。
为什么用户重要
- 统一通信身份:同一个 UID 在手机、Web 和桌面端上仍代表同一个业务用户。
- 连接其他概念:消息有发送者,设备属于用户,会话也从某个用户的视角生成。
- 承载业务边界:账号封禁、租户隔离、好友关系和群角色最终都要以可信用户身份为基础。
与其他概念的关系
- 消息记录发送者 UID,并通过频道到达其他用户。
- 频道组织用户之间的通信范围;单聊目标通常就是对方 UID。
- 设备属于某个 UID,一个用户可以拥有多个设备。
- 会话属于用户视角,因此同一频道对不同用户可以有不同未读和可见状态。
UID 应该怎么设计
一个合适的 UID 应当:
- 在业务账号生命周期内保持稳定,并且不会分配给另一个用户;
- 由受信后端确定,不能让客户端任意选择他人的 UID;
- 不直接使用昵称、手机号或可变邮箱等展示字段;
- 在日志和指标中避免泄露不必要的个人信息。
例如,Alice 修改昵称或更换手机后,UID 仍然是 alice_123。这样历史消息、频道成员关系和会话都不会因为展示资料变化而断开。
WuKongIM 知道什么
| WuKongIM 需要知道 | 仍由业务系统保存和判断 |
|---|---|
| 稳定 UID、连接所需设备信息 | 密码、OAuth 身份、手机号和用户资料 |
| 与 UID 关联的消息、频道和会话状态 | 好友关系、群角色、订阅套餐和内容权限 |
| 当前在线连接的瞬时状态 | 可靠的登录历史、风控结论和账号状态 |
在线状态只是“此刻是否观察到活动连接”,不适合作为付款、授权或一次性业务动作的唯一依据。
用户如何接入
- 客户端先登录你的业务服务。
- 业务后端验证账号和权限,并映射到稳定 UID。
- 受信后端签发当前设备所需的连接材料。
- 客户端使用 UID、设备信息和 Token 连接 WuKongIM。
- 连接成功后,客户端才能以该 UID 收发消息和同步会话。
生产鉴权边界
当前 v3 Beta 默认组合不会仅凭已写入的 Token 元数据,就自动形成完整的 CONNECT 鉴权。客户端也不应直接访问 Product HTTP。生产环境必须让受信后端控制凭据,并按身份与 Token接入 Gateway 校验。