外观
一句话答案
PC 生成唯一 code 展示二维码→手机扫码发送 code+token→用户确认→服务端标记→PC 长轮询获取登录态。
核心要点
流程:
- PC 请求生成唯一 code → 展示二维码
- 手机扫码 → 发送 code + 已登录 token 到服务端
- 用户手机确认 → 服务端标记 code 已确认
- PC 长轮询/WebSocket → 获取登录 token
状态: 未扫描 → 已扫描待确认 → 已确认 → 已过期
追问与易错
追问方向:
- 二维码过期怎么处理?
- 不确认怎么办?
- 安全问题?
易错点:
- ❌ 二维码包含账号密码——只包含唯一 code
- ❌ 忽略中间人攻击
💡 记忆锚点
扫码登录像"投票确认":PC生成一张选票(唯一code展示为二维码),手机扫码=拿已登录身份投票(发code+token到服务端),用户在手机点确认=签名盖章,PC一直在看开票结果(长轮询/WebSocket)。二维码里只有code没有密码,安全靠手机端已登录的token背书。