mirror of
http://git.pig4cloud.com/pig/pigx.git
synced 2026-11-15 06:29:01 +08:00
- 在 SysUserMapper.xml 中添加对飞书用户的查询支持 - 新增 FeishuLoginHandlerTests 测试类,验证飞书登录处理逻辑 - 测试覆盖飞书身份的代码交换和用户信息查询功能 (cherry picked from commit 2a0796cce45efd4e0444b0e2a6ef0a9e530dd226)
2.4 KiB
2.4 KiB
企业飞书扫码登录
使用企业自建飞书应用,通过官方授权页面扫码,UPMS 使用 OAuth v3 换取用户凭证,再用 open_id 查询 sys_user_social 中已绑定的系统账号。
配置
- 存量系统在 UPMS 数据库执行
db/upgrade_feishu_login.sql,刷新social_type字典缓存。全新系统的0pigxx_boot.sql、2pigxx.sql已包含FEISHU字典项。 - 在飞书开发者后台创建并启用企业自建应用,发布版本,确保使用者位于应用可用范围。
- 在飞书应用安全设置中登记回调地址,例如
https://admin.example.com/#/authredirect。 - 在管理端的第三方应用配置中选择「企业飞书」,填写 App ID、App Secret、同一个完整回调地址。回调地址必须与当前管理端同源,hash 为
#/authredirect,不携带查询参数;扩展字段留空。 - 用户先以现有方式登录系统,在个人中心绑定「企业飞书」,完成扫码授权。之后可在登录页选择「企业飞书」扫码登录,也可在个人中心解绑。
前后端必须使用完全相同的回调地址。飞书会把 code 和 state 放在 # 前面,现有回调组件同时支持 query 和 hash 参数。飞书授权状态有效期为五分钟且只能消费一次,拒绝授权或过期后需要重新发起。
未绑定身份不会自动注册,也不会按手机号或邮箱匹配系统账号。应用仅获取基础身份,不申请手机号、邮箱、通讯录或离线访问权限。App Secret 仅由后端使用,不出现在公开应用列表中。更换 App ID 后,原应用的 open_id 绑定不能直接复用。
验收
- 已绑定用户扫码后成功登录,权限与原系统账号一致。
- 未绑定用户不能登录;个人中心绑定后显示已绑定,解绑后不能再用该身份登录。
- 拒绝授权、无效或过期的 code/state 不得登录或写入绑定。
- 本地自动化只验证协议和查询路径;真实扫码需要部署配置完成后的飞书企业应用与账号。