KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

SSO 概念课:把应用课抛出的概念讲清楚 — keel 龙骨

SSO 概念课:把应用课抛出的概念讲清楚 的参考信息:SSO 概念课:把应用课抛出的概念讲清楚

短页参考 · 概念从哪来、是什么、解决什么问题、长什么样

《SSO 应用课》 是按主题一路往下写的:一章讲该选哪条协议、一章讲怎么把应用接进来、一章讲断了怎么定位。它假定你已经知道登录大致是怎么回事,直接把判断讲给你听。

但每一章都会抛出概念——IdP、SP、断言、令牌、redirect_uri、state、授权码、PKCE、会话、单点登出。这些概念在正文里是按"够用"的深度出现的:讲 PKCE 时说清"换令牌时要带上 code_verifier",就够你把 SPA 接起来了。

这门课补的就是那一段:当应用课里的某个概念让你推不下去、或者你只是想知道它到底是怎么回事时,来这里读一页。

它刻意很短。AI 已经替你写好了大部分接入代码,你不需要跟着再挖一遍协议细节——你需要的只是知道这个概念怎么产生的、它是什么、它解决什么问题、它面对什么需求、它具体长什么样。把这五件事弄清楚,回头再看应用课里那些面向场景与取舍的判断,会顺得多。

这门课是什么,不是什么

它是 它不是
参考页:一页一个概念,4–6 分钟读完 不是教程:没有从零讲起的引导
概念的来历与形态:它为什么需要存在、长什么样 不是原理深挖:不读协议规范全文、不推实现细节
应用课的下钻入口:从被卡住的那一句点进来 不是应用课的替代:选型、接入、定位仍在应用课

概念地图

概念 类型 回答什么 对应应用课
00 IdP 与 SP(依赖方) 主题概念 谁发起、谁验证、谁保存会话;issuer 为什么必须和实际访问地址一致 01 章 · 全景与选型
01 断言与令牌 衍生概念(服务于「IdP 与 SP」) "IdP 说这个人是谁"那句话长什么样;JWT 三段各管什么,为什么签名段不是加密段 03 章 · 令牌与校验
02 重定向与回跳 主题概念 为什么必须让浏览器亲自跑一趟;redirect_uri 为什么是边界;state 与 iss 各防什么 02 章 · 授权码流与 PKCE
03 授权码与 PKCE 衍生概念(服务于「重定向与回跳」) code 为什么不是令牌、为什么只能用一次;code_verifier 与 code_challenge 各是谁生成的 02 章 · 授权码流与 PKCE
04 会话与单点登出 主题概念 IdP 侧会话与应用侧会话为什么是两回事;"登出一次全部失效"为什么难 04 章 · 会话与登出

主题概念是被应用课当作章节主题讲的东西;衍生概念是为了理解某个主题概念而必须先弄懂的东西——比如不懂"断言",就说不清"应用凭什么相信 IdP 的话"。每一页都会在第五节列出它带出的衍生概念,以及该去哪一页。

怎么读

与相邻课程的分工

关于证据口径

页面里的 URL、JSON、cookie 清单与命令输出都来自一次完整的真实登录 / 登出记录,环境是 Keycloak 26.8.1(dev 模式,宿主 8081 → 容器 8080,realm = sso-lab),参与的两个客户端是公开客户端 sp-spa 与机密客户端 sp-portal:


课程导读(起点自检、阅读方式)见 course/README.md。

进入 keel 阅读