你能解释一下openid connect流程中的RP->OP部分吗?

Sat*_*ato 4 authentication google-authentication oauth-2.0 google-oauth openconnect

在此输入图像描述

我不明白这1部分。

例如,我有一个网站asdf.com并使用googleOP,所以我的网站上有一个login with google带有 google 网站链接(类似 )的按钮。https://account.google.com/XXX?return_url=asdf.com

所以用户会点击这个按钮登录,所以我认为步骤1应该是enduser -> OP?为什么RP -> OP

DaI*_*mTo 6

让我们把它分成几部分来看,也可以把它们全部看出来。这称为 Oauth2 舞蹈或三足 Oauth2 流。舞蹈需要三个步骤才能获得授权。有两名主力球员Client Application和一名侧滚球员Authentication serverresource owner

步骤1:

[客户端应用程序] 联系身份验证服务器。说我有一个用户愿意同意登录我的应用程序。

[身份验证服务器] 确保没问题用户必须先登录然后我将向他们显示同意屏幕

https://accounts.google.com/o/oauth2/auth?client_id= {clientid}.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope= https://www.googleapis.com/ auth/analytics.readonly&response_type=代码

在此输入图像描述

[资源所有者(用户)] 点击同意。

第2步:

[认证服务器]响应客户端。嘿,您的用户说您可以访问这里,这是授权码。

[客户端应用程序] 感谢这里的授权代码,将其取回,以及我的客户端 ID 和秘密(客户端 ID 和秘密基本上是客户端向授权服务器识别它的登录名和密码),这应该向您验证我就是我。

https://accounts.google.com/o/oauth2/token code=4/X9lG6uWd8-MMJPElWggHZRzyFKtp.QubAT_P-GEwePvB8fYmgkJzntDnaiAI&client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}&redirect_uri=urn:ietf:wg:oauth: 2.0:oob&grant_type=授权码

步骤 3.

[身份验证服务器] 太棒了,看起来您这里有一个访问令牌,可能还有一个刷新令牌。

评论:

Open id connect 基本上构建在 Oauth2 之上,主要区别在于您发送的范围是 openid 。

如果你想享受Oauth2 游乐场的乐趣,你可以在这里测试它