OIDC (OpenID Connect) 通俗原理解析:你的互联网通用“身份证”
OIDC (OpenID Connect) 通俗原理解析:你的互联网通用“身份证”
OIDC (OpenID Connect) 是一种身份认证协议。
通俗点说,这就是我们每天都在用的 “微信登录”、“Google 登录” 或 “Apple 登录”。它允许你在不向新应用透露密码的情况下,直接使用已有的可信账号登录。
1. 核心比喻:不需要在每家店都办会员卡
以前(没有 OIDC 的时候):
你每去一家新的健身房、理发店、超市,都得填表、设密码、办一张该店专属的会员卡。结果是你满口袋都是卡,还老忘记密码。
现在(有了 OIDC):
大家达成了一个共识:只认“支付宝”账号。
你去一家新开的健身房,前台不需要你填表注册。你只要扫一下支付宝授权登录。
- 支付宝:负责核实你是谁(因为你已经实名认证过了)。
- 健身房:信任支付宝的核实结果,直接给你开门。
在这个过程中,健身房根本不知道你的支付密码,它只拿到了支付宝给的一个“通过凭证”。
2. OIDC 的三步走流程
假设你要登录“抖音”,但你不想注册新号,想用“微信登录”。
第一步:发起登录 (Redirect)
你在抖音上点击“微信登录”。抖音(APP)把你带到了微信(Provider)的授权界面。
- 潜台词:抖音对微信说:“大哥,这人说是你的用户,麻烦你帮忙验一下身。”
第二步:用户认证 (Authenticate)
你在微信的界面输入密码、指纹或刷脸。
注意: 这个动作完全发生在微信“家里”。抖音只能在一边干等,它绝对看不见你的密码。
- 潜台词:微信对用户说:“是你吗?刷个脸……好的,确认是本人。”
第三步:颁发证件 (ID Token)
微信验证通过后,把页面转回抖音,并顺手通过 URL 塞给抖音一张特殊的卡片,这张卡片就叫 ID Token。
这张卡片(通常是 JWT 格式)上不仅有防伪签名,还写着:
- Subject: “这是用户 User123 (你的唯一标识)”
- Issuer: “这是微信签发的”
- Audience: “这是专门发给抖音用的”
- Expiration: “有效期 1 小时”
抖音拿到这张卡片,验一下微信的签名(防伪标),确认无误,就让你登录成功了。
3. 容易混淆:OIDC vs OAuth 2.0
很多人分不清它俩,因为 OIDC 其实是建立在 OAuth 2.0 之上的升级版。
-
OAuth 2.0 (授权 Authorization):
- 核心物品: Access Token (钥匙)
- 场景: 你允许“美图秀秀”读取你的“Google 相册”。
- 比喻: 你给了美图秀秀一把代客泊车钥匙。这把钥匙只能开后备箱和点火(Access),美图秀秀拿着钥匙去干活。但美图秀秀不一定知道车主叫什么名字,它只认钥匙。
-
OIDC (认证 Authentication):
- 核心物品: ID Token (身份证)
- 场景: 你用“Google 账号”登录“美图秀秀”。
- 比喻: Google 不仅给了钥匙(Access Token),还附赠了一张身份证 (ID Token),上面写着你的名字、头像、邮箱。美图秀秀拿着它,是为了认出你是谁。
一句话总结区别:
- OAuth 2.0 负责 “允许他干什么” (Access)。
- OIDC 负责 “证明他是谁” (Identity)。
4. OIDC 的价值 (SSO 单点登录)
在企业环境(如算力中心、大公司)里,OIDC 是实现 SSO (Single Sign-On) 的神器。
如果你公司有 20 个内部系统(HR系统、Jira、GitLab、Alluxio…):
- 没 OIDC:员工要背 20 组账号密码,入职离职极其实麻烦。
- 有 OIDC:员工只要登录一次公司的主账号(比如 Okta 或 AD),手里拿着一张 ID Token,去这 20 个系统都是畅通无阻,实现“一处登录,处处通行”。
更多推荐

所有评论(0)