KEEL · 龙骨 · A CURRICULUM FOR THE AI ERA

课程导读 · SSO 基础课 — keel 龙骨

SSO 基础课:把单点登录跑起来 的参考信息:课程导读 · SSO 基础课

从"满屏名词分不清"到"自己跑起一个 IdP,并说得清它的边界"

你现在的起点

先花一分钟对一下。下面四条你都能说清,这门课可以跳过,直接去《SSO 应用课》:

  1. IdP 和 SP 分别指什么?
  2. 从登录页跳回你的应用时,地址栏里的 code 是什么?能直接当 token 用吗?
  3. -p 8081:8080 里,哪边是你自己的电脑、哪边是容器?
  4. 什么情况下不该引入 SSO?

只要有一条答不上来,往下读。这门课不要求你会写代码,也不要求你搭过任何服务。

一条能走通的学习路径

它是什么          01 它到底解决了什么问题
  ↓
跑一个现成的      02 跑起第一个 IdP
  ↓
装自己的东西      03 把自己的应用接进去
  ↓
边界在哪          04 什么时候别用它

四章,每章一个能跑出来的结果。 不需要服务器,本机跑就行。

章节地图

章 关键问题 你会亲手跑出什么
01 它到底解决了什么问题 "五个系统五套账号"到底坏在哪?SSO 的答案是什么? 读出一份 IdP 公开的端点清单
02 跑起第一个 IdP 一条 docker 命令里每一段在做什么?日志里哪行说明它活了? 一个真实在跑的 IdP 和那句启动成功日志
03 把自己的应用接进去 realm 和 client 分别是什么?跳回来时地址栏多了什么? 建好的 realm + client,和一段真实回跳 URL
04 什么时候别用它 哪五种情况不该上 SSO? 一张判断速查表,和一个清干净的环境

本章会遇到的词

遇到不认识的词,回这张表查一句话就够;要更完整的来历,点对应的课程链接。

词 出现在 一句话
IdP(身份提供者) 01 统一做"证明你是谁"的那个角色,是一个真实在跑的服务
SP(服务提供者) 01 要接进来的那些系统;每个在 IdP 里登记一条记录
断言(assertion / token) 01、03 IdP 验明身份后交出的带签名文本,拿到方做的是验签
端点(endpoint) 01、02 一个服务上不同的"窗口",每个用一条 URL 表示
realm 03 IdP 里一个独立的"圈":自己的用户、客户端、配置;名字就在 URL 里
client 03 在 IdP 里为"一个应用"登记的一条记录
redirect_uri 03 登记时约好的"跳回来允许落到哪个地址"
code 03 回跳时的一次性号码牌,不是 token,且只能用一次
OIDC 全课 本课用的这套"跳去登录、带一份带签名的凭证回来"的协议
Keycloak 02 本课用来当 IdP 的开源软件(26.8.1)

你还会听到 SAML——另一套做同一件事的协议,企业里常见;本课不涉及它。

这门课怎么读

前置要求

实验环境说明

进入 keel 阅读