跳到主要内容

OIDC是什么,为什么需要OIDC

什么是 OIDC

OIDC 的全称是 OpenID Connect,它是在 OAuth 2.0 之上构建的一个身份认证层

核心关系:OIDC 与 OAuth 2.0

  • OAuth 2.0:解决 "授权" 问题 → "这个应用能做什么?"

  • OIDC:解决 "认证" 问题 → "用户是谁?"

可以把 OIDC 理解为 OAuth 2.0 的 "增强版",专门用于用户身份认证。

一个简单的比喻

想象进入一个办公楼:

  • OAuth 2.0:保安给你一张门禁卡,可以进入特定楼层(授权访问资源)

  • OIDC:保安不仅给你门禁卡,还确认了你的员工身份,知道你的姓名、工号等信息(认证身份+授权访问)

OIDC 解决了什么问题

  1. 统一身份认证标准

在 OIDC 之前,每个网站都有自己的登录系统,第三方应用想要"使用微信登录"需要各自实现不同的集成方式。OIDC 提供了标准化的身份认证协议。

  1. 安全的用户信息获取

OIDC 引入了 ID Token(JWT格式),包含用户的基本身份信息,应用可以安全地解析和验证这些信息。

  1. 单点登录支持

用户在一个地方登录后,可以访问所有信任的关联应用,无需重复登录。

  1. 分离关注点 身份提供商:专门负责用户认证

应用:专注于业务逻辑,无需管理用户密码

OIDC 核心概念

概念说明类比
ID TokenJWT格式的身份令牌,包含用户基本信息身份证
Access Token访问API的令牌(继承自OAuth 2.0)门禁卡
UserInfo Endpoint获取用户详细信息的API端点人事档案处
Discovery自动发现OIDC配置的标准化方式服务目录