开放 ID 连接流程和 OAuth 授权

Open ID Connect Flow and OAuth Grant

我无法理解 OAuth authorization_code grant 和 OIDC authorization_code flow 之间的区别。对我来说,这笔赠款和流量似乎是一样的。如果那是真的,为什么要使用 OIDC?如果不是,那么什么时候使用 OIDC 和 OAuth?看了很多博客和各种论坛的问题,还是看不懂

你说得对,OAuth and OpenID Connect 之间的术语有时令人困惑。

流程相同,OpenID Connect 只是 OAuth 之上的一个额外层。

当您使用 OAuth 时,您会收到一个 access_token,它授予您访问资源服务器的权限。 access_token证明授权。所以资源服务器不知道你是谁,只知道你可以访问资源。

当您使用 OpenID Connect 并在请求授权码时提供 openid 范围时,您会收到一个额外的令牌,即 id_token.

这个 id_token 在你的 id_token 中是 a signed JWT token which holds the identity of the user. Optionally you can add more scopes for more claimsid_token证明身份验证。

此外,如果您支持 OpenID Connect,但客户端不提供 openid 范围,您不会收到 id_token,而只会收到 OAuth 令牌。

所以流程是相同的,唯一不同的是id_token