开放 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 claims。 id_token
证明身份验证。
此外,如果您支持 OpenID Connect,但客户端不提供 openid
范围,您不会收到 id_token
,而只会收到 OAuth 令牌。
所以流程是相同的,唯一不同的是id_token
。
我无法理解 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 claims。 id_token
证明身份验证。
此外,如果您支持 OpenID Connect,但客户端不提供 openid
范围,您不会收到 id_token
,而只会收到 OAuth 令牌。
所以流程是相同的,唯一不同的是id_token
。