# 复用登录接口实现本地授权方案 ##

5 阅读1分钟

. 变更目标

在不改变现有登录接口路径的前提下,支持本地软件通过账号+密码+授权码进行登录,并实现与 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))
  • 也可以支持管理员手动在数据库/后台修改。