Module Document
基础架构 · 一站式工作台 / SSO 技术选型
基础架构 · 一站式工作台 /
SSO 技术选型
版本: v0.1
日期: 2026-07-06
归属: 基础架构 / 一站式工作台 / SSO
替代说明:2026-07-16 的 06.06.05 决议已替代本文 v0.1 的 Casdoor / React SPA / Casbin 推荐。当前落地方案为:飞书 SSO + infimaker-admin-be SpringBoot + infimaker-admin-fe pure-admin-thin(Vue3+Element Plus) + 业务后端通过 JWT/JWKS 或 Gateway 接入管理员认证授权。
1. 选型背景与约束
| 约束 |
说明 |
| 飞书为协同入口 |
IdP 需支持飞书组织同步,用户无需维护两套账号。 |
| 系统异构 |
GitLab(OIDC)、Grafana(OIDC)、部分老系统(SAML/LDAP)需兼容。 |
| 运维能力 |
1 名平台后端,优先轻量、国内社区活跃的方案。 |
2. 候选方案对比
IdP / SSO 服务
| 方案 |
优势 |
劣势 |
场景 |
| 飞书 OAuth / SSO(当前推荐) |
直接复用公司协同身份入口,减少自建 IdP 运维;适合内部管理后台唯一登录入口。 |
依赖飞书可用性;复杂跨组织/B2B 身份不是一期目标。 |
内部管理后台 v0.1 首选。 |
| Casdoor(已被 06.06.05 替代) |
轻量、支持 OIDC/SAML。 |
会引入第二套 IdP 运维和账号治理面。 |
暂不作为一期落地方案。 |
| Keycloak |
功能最全、CNCF 支持、生产案例多 |
重量级、JVM、国内文档少 |
有专职运维时升级 |
| 阿里云 IDaaS |
与阿里云原生集成、托管免运维 |
强绑定阿里云、内网系统对接复杂 |
纯阿里云场景 |
| Authentik |
现代 UI、SCIM 支持好 |
国内社区少 |
备选 |
工作台框架
| 方案 |
优势 |
劣势 |
场景 |
| pure-admin-thin(当前推荐) |
Vue3 + Element Plus + TypeScript,精简模板,适合 AI 稳定生成 CRUD 页面。 |
需要自行沉淀业务组件和页面规范。 |
管理后台 Portal 与新管理页面。 |
| 自建轻量 React SPA(已被 06.06.05 替代) |
完全定制。 |
不符合当前 Vue/Element Plus 偏好,前端不熟时 AI 改动稳定性较差。 |
暂不采用。 |
| Backstage(Spotify) |
开发者门户成熟 |
重量级、学习曲线高 |
工程团队 50+ 时考虑 |
| 飞书工作台原生 |
无需自建 |
功能受限、不适合内部工具聚合 |
轻量协同场景 |
权限引擎
| 方案 |
优势 |
劣势 |
场景 |
| SpringBoot 自建 RBAC(当前推荐) |
贴合 admin-be Java 技术栈,权限码、菜单、角色、审计可直接落在 Admin DB。 |
需要约束模型,避免过早做复杂 ABAC。 |
管理员 RBAC、菜单和业务权限码。 |
| Casbin(已被 06.06.05 替代) |
模型灵活。 |
额外引擎和管理 UI 成本;当前 CRUD/流程发布阶段不需要。 |
二期复杂策略再评估。 |
| OPA(Open Policy Agent) |
策略即代码、灵活 |
复杂度高 |
精细策略场景 |
| 自定义 RBAC 表 |
简单直接 |
扩展性差 |
仅极简场景 |
3. 推荐方案
| 层级 |
推荐 |
| SSO 登录 |
飞书 OAuth / SSO,由 infimaker-admin-be 服务端完成授权码换 token 和用户信息获取。 |
| 后台会话 |
admin-be 签发自己的 HttpOnly + Secure Cookie;前端不保存飞书 token 或长期 JWT。 |
| 权限模型 |
SpringBoot 自建管理员 RBAC:用户、角色、权限码、菜单、数据范围、审计。 |
| 工作台 / Portal |
infimaker-admin-fe 使用 pure-admin-thin(Vue3 + Element Plus)。 |
| 业务服务接入 |
ota_be、sn_center、cert_center 通过 JWT/JWKS 或 Gateway 消费管理员身份。 |
| 旧后台嵌入 |
iframe 白名单 + 飞书 SSO / 同站 Cookie;无法改造时使用一次性短期登录票据。 |
4. 迁移 / 切换成本
| 场景 |
成本评估 |
| Casdoor / React SPA / Casbin → 飞书 SSO + pure-admin-thin + SpringBoot RBAC |
低到中:当前尚未落地生产代码,主要成本是重写选型文档、初始化新仓库和固化接口契约。 |
| 业务后端直接依赖 admin-be 内部实现 → JWT/JWKS 或 Gateway |
低:以协议接入替代代码/数据库耦合,后续服务独立性更高。 |
5. 决策记录
| 决策 |
结论 |
日期 |
决策人 |
| SSO 登录 |
飞书 SSO,替代 Casdoor 一期推荐 |
2026-07-16 |
IT Owner |
| Portal 前端 |
pure-admin-thin(Vue3 + Element Plus),替代自建 React SPA |
2026-07-16 |
IT Owner |
| 权限模型 |
SpringBoot 自建管理员 RBAC,替代 Casbin 一期推荐 |
2026-07-16 |
IT Owner |
| 业务服务认证接入 |
JWT/JWKS 或 Gateway;业务后端独立强校验权限码 |
2026-07-16 |
IT Owner |