Authentication 你能解释一下RP->;openid连接流中的OP部分?

Authentication 你能解释一下RP->;openid连接流中的OP部分?,authentication,oauth-2.0,google-oauth,google-authentication,openconnect,Authentication,Oauth 2.0,Google Oauth,Google Authentication,Openconnect,我不理解1部分 例如,我有一个网站asdf.com并使用googleOP,因此我有一个带有链接的login with google按钮(类似https://account.google.com/XXX?return_url=asdf.com)到我的网站上的google站点 因此,用户将单击此按钮登录,因此我认为1步骤应该是enduser->OP?为什么RP->OP?让我们看看这一点,不妨把它们全部拿走。这被称为Oauth2舞蹈或三条腿的Oauth2流。舞蹈中有三个步骤来获得授权。有两个主要参与者

我不理解
1
部分

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


因此,用户将单击此按钮登录,因此我认为
1
步骤应该是
enduser->OP
?为什么
RP->OP

让我们看看这一点,不妨把它们全部拿走。这被称为Oauth2舞蹈或三条腿的Oauth2流。舞蹈中有三个步骤来获得授权。有两个主要参与者,
客户端应用程序
身份验证服务器
,其中
资源所有者
扮演着次要角色

第1步:

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

[Authentication server]确定没有问题用户必须首先登录,然后我将向他们显示同意屏幕

{clientid}.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=

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

第二步:

[Authentication server]响应客户端。嘿,你的用户说你可以访问这个,这是一个授权码

[客户端应用程序]感谢这里的授权码,请将其取回,我的客户端id和密码(客户端id和密码基本上是用于将其标识到授权服务器的客户端的登录名和密码)这将向您验证我就是我

code=4/X9lG6uWd8 MMJPElWggHZRzyFKtp.QubAT_P-gewepvb8fymgkjzntdanai&client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}和redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code

第3步。

[Authentication server]看起来您这里有一个访问令牌,可能还有一个刷新令牌

评论:

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


如果你想玩的话,可以在这里测试它

让我们把它分成几部分来看看,或者把它们都拿走。这被称为Oauth2舞蹈或三条腿的Oauth2流。舞蹈中有三个步骤来获得授权。有两个主要参与者,
客户端应用程序
身份验证服务器
,其中
资源所有者
扮演着次要角色

第1步:

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

[Authentication server]确定没有问题用户必须首先登录,然后我将向他们显示同意屏幕

{clientid}.apps.googleusercontent.com&redirect_uri=urn:ietf:wg:oauth:2.0:oob&scope=

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

第二步:

[Authentication server]响应客户端。嘿,你的用户说你可以访问这个,这是一个授权码

[客户端应用程序]感谢这里的授权码,请将其取回,我的客户端id和密码(客户端id和密码基本上是用于将其标识到授权服务器的客户端的登录名和密码)这将向您验证我就是我

code=4/X9lG6uWd8 MMJPElWggHZRzyFKtp.QubAT_P-gewepvb8fymgkjzntdanai&client_id={ClientId}.apps.googleusercontent.com&client_secret={ClientSecret}和redirect_uri=urn:ietf:wg:oauth:2.0:oob&grant_type=authorization_code

第3步。

[Authentication server]看起来您这里有一个访问令牌,可能还有一个刷新令牌

评论:

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


如果你想玩的话,可以在这里测试它

是的,我想说你是对的:OP的第一个请求来自最终用户

RP通常将请求构建到OPs
authorization
端点,但它要么将最终用户的浏览器重定向到该端点(例如通过HTTP 302响应),要么将构建的URL作为操作放置在RP返回给最终用户的html页面上的链接/按钮上


图中似乎缺少这一点。

是的,我想说你是对的:OP的第一个请求来自最终用户

RP通常将请求构建到OPs
authorization
端点,但它要么将最终用户的浏览器重定向到该端点(例如通过HTTP 302响应),要么将构建的URL作为操作放置在RP返回给最终用户的html页面上的链接/按钮上

图表上似乎缺少此项