1. 简介

OpenID Connect(简称 OIDC)1.0 是建立在 OAuth 2.0 上的身份验证机制,它允许客户端通过授权服务对用户进行认证,以及获取用户信息。其意义主要在于以安全的方式分发用户的唯一标识(访问凭证依然是 Access Token)。


2. 术语


3. 总体流程

  1. RP 向 OP 发起认证请求
  2. OP 对用户进行认证和鉴权
  3. OP 向 RP 返回认证响应,其中包括 Access Token、ID Token
  4. RP 使用访问凭证,向 OP 请求用户信息
  5. OP 向 RP 返回用户信息

4. 客户端鉴权

OP 对客户端进行鉴权,然后将鉴权结果返回给 RP。鉴权流程有三种方式:授权码模式、隐藏模式、混合模式。OP 采用何种模式取决于 RP 请求时传递的 response_type 参数。

授权码模式的流程与 OAuth 2.0 类似,不同之处是:在 Token Endpoint 的响应中增加 ID Token,它用于指定用户 ID,以便在访问用户信息时作为标识。

具体细节请参考:OpenID Connect Specs

RP 能够获得的用户信息取决于:


参考文档