Chrome PingFederate登录机制-授权代码流

ncgqoxb0  于 2023-02-14  发布在  Go
关注(0)|答案(1)|浏览(149)

我的应用配置为从IDP发送的授权码中获取access_token,流程如下:
1.我请求组织申请(sp)。
1.组织应用程序将我重定向到IDP登录页面,在这里输入用户名和密码。
1.身份验证成功后,IDP会将我重定向到组织应用程序URL,并在请求参数中附加身份验证代码。
1.现在,组织应用程序将此代码保存在应用程序会话中,然后使用IDP提供的授权代码获取access_token。
1.如果我再次请求组织应用程序(SP),应用程序会检查会话是否具有授权码,如果有,则不会将我重定向到IDP登录页面以获取授权令牌。2这就是应用程序在登录上下文中的工作方式。
现在,如果会话到期,我们请求组织应用程序,此时应用程序直接将我重定向到IDP以获取授权码,而无需用户名和密码。
我的问题是这个魔术是如何发生的,它是如何从我的浏览器获取用户信息的?我以为它可能是使用cookie来获取用户信息,但在删除浏览器中的所有cookie后,它仍然可以获得auth代码,而不要求我输入用户名和密码。
它是从哪里获取用户信息的?我用Chrome和Edge浏览器试过了,结果两者都是一样的。
使用针对IDP的Ping联合。

hs1ihplo

hs1ihplo1#

IDP(或授权服务器,或两者,取决于具体设置)在用户通过身份验证后发出会话cookie。如果执行RP initiated logout或清除所有IDP cookie,则强制重新登录。
如果IDP会话cookie仍然有效,则下次重定向用户进行身份验证时,将不会提示用户输入凭据。例如,如果应用程序会话/令牌生存期短于IDP会话时间。
通常情况下,最好通过将应用的刷新令牌和IDP会话时间配置为相同来解决此问题。应用也可以随时发送OpenID Connect prompt=none参数来强制重新验证。

相关问题