Files
pigx/pigx-upms/FEISHU-LOGIN.md
T
PIGCLOUD 1dc58c60cf feat(pigx-upms-biz): 增加飞书用户身份绑定功能
- 在 SysUserMapper.xml 中添加对飞书用户的查询支持
- 新增 FeishuLoginHandlerTests 测试类,验证飞书登录处理逻辑
- 测试覆盖飞书身份的代码交换和用户信息查询功能

(cherry picked from commit 2a0796cce45efd4e0444b0e2a6ef0a9e530dd226)
2026-09-22 21:52:04 +08:00

2.4 KiB
Raw Blame History

企业飞书扫码登录

使用企业自建飞书应用,通过官方授权页面扫码,UPMS 使用 OAuth v3 换取用户凭证,再用 open_id 查询 sys_user_social 中已绑定的系统账号。

配置

  1. 存量系统在 UPMS 数据库执行 db/upgrade_feishu_login.sql,刷新 social_type 字典缓存。全新系统的 0pigxx_boot.sql、2pigxx.sql 已包含 FEISHU 字典项。
  2. 在飞书开发者后台创建并启用企业自建应用,发布版本,确保使用者位于应用可用范围。
  3. 在飞书应用安全设置中登记回调地址,例如 https://admin.example.com/#/authredirect。
  4. 在管理端的第三方应用配置中选择「企业飞书」,填写 App ID、App Secret、同一个完整回调地址。回调地址必须与当前管理端同源,hash 为 #/authredirect,不携带查询参数;扩展字段留空。
  5. 用户先以现有方式登录系统,在个人中心绑定「企业飞书」,完成扫码授权。之后可在登录页选择「企业飞书」扫码登录,也可在个人中心解绑。

前后端必须使用完全相同的回调地址。飞书会把 code 和 state 放在 # 前面,现有回调组件同时支持 query 和 hash 参数。飞书授权状态有效期为五分钟且只能消费一次,拒绝授权或过期后需要重新发起。

未绑定身份不会自动注册,也不会按手机号或邮箱匹配系统账号。应用仅获取基础身份,不申请手机号、邮箱、通讯录或离线访问权限。App Secret 仅由后端使用,不出现在公开应用列表中。更换 App ID 后,原应用的 open_id 绑定不能直接复用。

验收

  • 已绑定用户扫码后成功登录,权限与原系统账号一致。
  • 未绑定用户不能登录;个人中心绑定后显示已绑定,解绑后不能再用该身份登录。
  • 拒绝授权、无效或过期的 code/state 不得登录或写入绑定。
  • 本地自动化只验证协议和查询路径;真实扫码需要部署配置完成后的飞书企业应用与账号。

官方接口