. 变更目标
在不改变现有登录接口路径的前提下,支持本地软件通过账号+密码+授权码进行登录,并实现与 Web 端的会话隔离。
2. 核心改动
2.1 数据库
- 表:
geo_user - 字段:
auth_code(VARCHAR 255)
2.2 逻辑控制
- 识别标识: 通过请求头中的
DEVICE_TYPE识别来源。 - 校验逻辑:
- 当
DEVICE_TYPE == 'desktop-app'时,激活auth_code强校验。 - 否则,按原有逻辑仅校验账号密码。
- 当
- 会话隔离:
- 本地软件使用独立的 Redis Hash 分组。
- 网页端使用原有的分组。
3. 授权码生成
- 建议规则:
Upper(MD5(userId + mobile + "LY_SALT").substring(0, 8))。 - 也可以支持管理员手动在数据库/后台修改。