核心对比

能力维度 UMS Passport
用户管理
登录认证
Token 管理
会话控制
风控安全
登录日志
协议标准
多系统认证 可选

chat

是什么?

可以!而且我要先给你一个很明确的结论👇

✅ 不实现 OAuth2 / OIDC / SAML 等标准协议,一样可以做企业内部 SSO,而且很多公司最初都是这么干的。

关键不是“能不能 SSO”,而是:

👉 差异在于:你做的是「内网 SSO」还是「标准化身份平台」。

下面我们把这事拆开说清楚。


一、什么是“内部 SSO”本质?

SSO 的核心只有一句话:

登录一次,多个系统共享登录态。

实现方式可以非常简单粗暴,比如:

典型自研内部 SSO模式

  1. 用户访问系统A
  2. 没登录 → 跳转到 passport 登录页
  3. 登录成功后:
    • passport 生成 sessionId
    • 写入 cookie(domain 级共享)
  4. 用户访问系统B
  5. 系统B读取 cookie → 调 passport 校验 → 放行

✅ 这已经是完整 SSO 了
❌ 但它没有任何标准协议

这在企业内部非常常见。


二、不用标准协议,你得到的是什么?

你得到的是:

能力 是否具备
内网单点登录
多系统共享登录
权限统一控制
自定义登录流程
第三方接入
对外开放能力
跨域复杂场景
标准化生态

本质是:

你做了一个“可用”的 SSO,但它是私有协议 SSO。


三、差异点到底在哪里?

我们把差异拆成几个核心维度来看:


1️⃣ 协议耦合程度

对比 自研内部SSO 标准Passport
登录方式 业务系统强依赖你的实现 所有系统按标准接入
改一个参数 所有系统都要改 客户端无感
扩展新系统 手工接入 协议级自动规范

👉 自研 SSO 更像:
“每个系统都写死对 passport 的处理逻辑”

标准协议更像:
“只要遵循协议,任何系统都能接入”


2️⃣ Token 与身份模型差异

内部 SSO常见:

{
  "uid": 10001,
  "name": "张三",
  "role": "admin"
}
  • 结构你说了算
  • 校验逻辑你自己维护

标准协议:

{
  "sub": "10001",
  "iss": "passport.company.com",
  "exp": 1730000000,
  "scope": "user.read"
}
  • 有标准字段语义
  • 每个系统理解一致

3️⃣ 安全体系成熟度

自研 SSO 往往的问题:

  • Token 不可控扩散
  • session 无统一生命周期
  • 无标准刷新机制
  • 终端多点踢出复杂
  • 风控能力堆不下去

标准 Passport 自带模式:

  • refresh_token
  • access_token
  • token blacklist
  • 会话劫持检测
  • 多设备控制

4️⃣ 系统边界能力

场景 自研SSO 标准Passport
企业内系统
第三方应用
SaaS开放平台
App / H5 混合 困难 自然支持

四、总结成一句大白话

模式 本质
内部私有SSO “公司内部通行证”
标准协议Passport “国家护照”

你可以当一辈子的公司门禁,但当业务开始外扩时就会痛苦。


五、真实企业的常见演进路径

很多公司都会经过这个阶段:

阶段1:简单自研 SSO

  • session + cookie
  • 登录中心跳转
  • 只面向内部系统

阶段2:伪统一 SSO

  • 开始引入 token
  • 加设备管理
  • 风控增强

阶段3:标准 Passport

  • 引入 OAuth2 / OIDC
  • 支持外部合作系统
  • 支持移动端与开放平台

这是一个非常自然的演化过程。


六、你现在的选择建议

结合你之前的架构背景,我给你三个可选路线:

✅ 模式A:务实路线(推荐起点)

先做强企业内部 Passport:

  • 统一登录入口
  • Session + JWT
  • 内部 SSO 实现
  • 标准化接口(即使不是协议)

未来可升级协议实现


✅ 模式B:一步到位型

直接支持 OAuth2 / OIDC

适合:

  • 有对外平台计划
  • 有多端复杂场景
  • 需要生态接入

⚠️ 模式C:纯业务登录

每个系统自己做登录(不推荐)


七、关键差异最终总结表

对比项 内部SSO 标准Passport
能不能用 ✅ 完全可用 ✅✅ 更规范
学习成本
实现复杂度
可扩展性 一般 极强
对外能力
安全体系 依赖经验 系统化

八、一句话结论

👉 不实现标准协议 = SSO 依然可以非常丝滑
👉 实现标准协议 = 你在为未来铺路

你现在要问的不是:
“要不要做协议?”

而是:

你这个 Passport 是只给内部用?还是未来要对外开放?