跳到页面内容
跳到互动练习
互动课堂 / 联合登录会话室DAILY / SECURITY TERMS

084 / 身份与访问 / SSO

一次登录之后,到底有几份会话?

SSO 单点登录 · SSO

资料室和排班室都信任企业身份服务,但它们各自管理访问权限与会话。退出一个窗口,其他地方是否还认识你?沿着三张会话卡亲自走一遍。

开始探索 ↓9–12 分钟
动手实验 · 场景判断 · 实用检查

中央发光的身份角色连接信件与报表图标下的房间,齿轮图标下的门仍显示禁止进入。它说明统一身份入口不等于所有应用都获准访问;画面本身没有证明任何全局退出已经完成。

SSO 单点登录 · 本课场景

SSO 概念寓意:用户登录一次即可访问多个受信任系统,统一身份体验与策略。

中央发光的身份角色连接信件与报表图标下的房间,齿轮图标下的门仍显示禁止进入。它说明统一身份入口不等于所有应用都获准访问;画面本身没有证明任何全局退出已经完成。

按 Esc 或点击画面外侧关闭。打开原图 ↗

本课任务 / SSO 单点登录

在一个明确的 OIDC 联合登录场景里,分清身份信任、本地授权与退出传播。

  • 追踪身份提供方与两个应用的独立会话
  • 核对新登录所需的身份令牌证据
  • 比较本地退出、IdP 退出和后端退出通知

这次 SSO 采用什么协议?

本页限定为 OIDC 授权码流程:企业身份提供方兼任 OpenID Provider,资料室 A 与排班室 B 是 Relying Party。SSO 是跨应用复用登录体验,并不是一种唯一的协议。[1][2]

应用为什么信任这次登录?

应用依据事先建立的信任关系验证身份断言,再建立自己的会话。它不是因为另一扇网页显示“已登录”,也不是直接共享用户的密码或所有应用 Cookie。[2][1]

一处退出会让所有地方退出吗?

IdP、A 和 B 的会话有各自的生命期。IdP 会话终止不必然清除已有应用会话;是否传播退出,还取决于协议支持、消息送达和应用实际处理。[2][4]

亲手探索 / 不同条件,不同结果

走进两间应用,再观察退出消息到达前后。

操作 OIDC 身份服务、资料室 A 和排班室 B 的会话时间线;对新登录切换令牌证据,并单独检查 B 的业务权限。A 只做本地退出,B 可接收后端退出通知;全部为本地状态模拟。

三份会话时间线 · OIDC 单点登录

一处登录之后,哪些会话还活着?

海湾 IdP(OIDC 中的 OP)已认证小珊,资料室 A 与排班室 B(RP)还没有本地会话。逐步访问、退出和投递通知,观察信任关系与会话边界。

海湾 IdP

会话有效

认证会话,不是所有应用的 Cookie

资料室 A

无会话

client_id: coral-library;未配置联动退出

排班室 B

无会话

client_id: coral-roster;支持后端退出通知

当前有 1 个有效会话。B 的退出通知:无待处理通知。只有“推进一步”会改变这些状态。

只在建立新应用会话时使用。已有会话不会因更换样本而重新接受 ID Token;退出通知使用另一套验证规则。
这是本例应用的业务策略,不是 IdP 登录开关;B 每次操作都重新判断此策略。
把 IdP、A、B 分别计数。业务操作被拒绝,不必然销毁已经建立的登录会话。

尚未运行。先预测,再推进本地教学模型。

已执行的会话步骤

仅保留最近 8 步。更改选项不会重写历史;重置会清空整个时间线。

还没有执行步骤。

试一条时间线:访问 A → 访问 B → 只退出 A → 再访问 A → 在 IdP 确认退出 → 投递 B 的通知。每一步先预测数量。然后重置,把 A 的新登录样本改为“只发给另一个应用”,比较身份验证被拒绝与 B 业务权限被拒绝的差别。

随手查 / 把理解带回实际工作

理解机制之后,检查这些细节。

实验是简化模型。真实环境需要明确业务规则、验证失败路径,并持续维护配置与证据。

01 / 实用细节

信任从注册和配置开始

记录预期 IdP、客户端标识、回调与可信签名密钥来源。应用不能接受任何自称来自公司身份服务的令牌;发现文档和密钥获取也必须绑定到预期签发者。[1][2]

02 / 实用细节

新会话需要适用于本应用的证据

本场景核验 ID Token 的签名、iss、aud、有效期以及发送过的 nonce。发给 A 的身份令牌不能直接用来建立 B 的会话;本页的固定检查不代表所有 OIDC 部署都只有这些步骤。[1]

03 / 实用细节

身份一致,不意味着权限一样

应用可在接纳身份后仍拒绝业务功能,例如没有排班室权限。账户停用、团队关系与角色变更需要各应用执行;联邦身份协议不会替你写好所有对象授权规则。[2]

04 / 实用细节

断言到期与会话到期分开管理

ID Token 的有效期约束应用接纳该证据的时间,不自动等于应用会话生命期。已有应用会话可按本地政策继续;需要新鲜认证时,应显式要求并核验认证时间等证据。[2][1]

05 / 实用细节

本地退出与身份服务退出是不同动作

退出 A 可以只清除 A 的会话,而 IdP 会话继续存在,随后访问 A 可能再次顺利登录。RP 发起 IdP 退出需要协议与配置配合;退出后跳转目标也要按登记值验证。[3]

06 / 实用细节

退出通知要验证并落实到会话

Back-Channel Logout 使用签名的 Logout Token 标明受影响主体或会话,RP 验证后清除相应状态。通知尚未送达、验证失败或应用未接入时,不能宣称所有会话已经注销。[4][2]

从模拟,到验证

找一个获准的环境,实际检查一次。

勾选用于本页自查,不会自动标记整课已学会。练习与清单刷新后重置。

本页已检查 0 / 5 项

实际检查清单
30 秒场景小测

员工通过 SSO 登录后,是否自动拥有所有应用的管理员权限?

能解释原因,再标记学会。

小测结果同步错题本;“已学会”沿用原有本地学习记录。

资料与依据

  1. OpenID Connect Core 1.0 · Code Flow and Validation ↗

    OP/RP 角色、授权码身份流程与 ID Token 验证

  2. NIST SP 800-63C-4 · Federation and Assertions ↗

    信任关系、RP 账户与独立的 IdP/断言/RP 会话生命期

  3. OpenID Connect · RP-Initiated Logout 1.0 ↗

    请求身份服务退出、退出后回调与实现范围

  4. OpenID Connect · Back-Channel Logout 1.0 ↗

    签名 Logout Token 的核验与 RP 会话清理

本页场景、人物与数据均为教学示例。互动选择不会上传;收藏、已学会与错题沿用当前浏览器本地存储。来源正文核对日期:2026-10-08。