身份,是数字世界的通行证。当一名员工每天在不同业务系统间反复输入密码,当用户在十几个独立网站疲于注册,一种强烈的技术冲动便会出现:能否只登录一次,就能畅行所有应用?这就是单点登录(SSO)的朴素愿景。而实现这一愿景的现代基石,并非某个单一的协议,而是一对配合默契的组合——OAuth 2.1 与 OpenID Connect。
许多开发者在初探 SSO 时,会听到“我们用 OAuth 做认证”这样的说法。然而,这恰恰是过去十年安全领域最普遍的误解之一。OAuth 2.1 是一个纯粹的授权框架,它生来就不是为了证明“你是谁”,而是回答“你可以让谁访问什么资源”。真正赋予 SSO 以身份灵魂的,是建立在它之上的 OpenID Connect 协议。两者叠加,才构成了目前云原生世界中最安全、最灵活的 SSO 方案。这篇文章将试图拨开层层术语,以技术观察者的角度,梳理这套组合拳的内在机制、安全优势以及其精巧的设计哲学。
历史的弯路:当授权协议被推上认证的前线
2012 年 OAuth 2.0 协议正式发布,迅速成为互联网授权场景的事实标准。它的设计初衷非常清晰:允许第三方应用在不知道用户密码的情况下,获得有限度的资源访问权限。例如,一个照片打印网站想要读取某人的 Google 相册,只需用户同意,Google 便会签发一个访问令牌(Access Token),打印网站持此令牌即可下载照片,全程无需泄露用户的 Google 密码。这种“同意授权”