有人可以为我说明用例。我们向将要登录第三方客户端应用程序的用户挥手。使用OAUTH2框架,客户端应用程序将重定向到我们的站点进行身份验证。从我的未知,授权服务器将返回访问令牌和id_token(OpenID Connect)。
1)如果用户通过了我们的身份验证并被重定向到客户端应用程序,如果他们离开客户端应用程序并在几个小时后返回客户端应用程序,他们是否仍然经历了整个重定向到我们的/授权端点重新认证?
2)如果用户通过了我们的身份验证并被重定向到客户端应用程序,如果他们离开客户端应用程序并转到我们的站点,他们是否必须再次登录才能进行身份验证?
基本上,通过OAUTH2的OpenID Connect是否允许用户登录一次,然后在访问第三方应用或我们的应用后不必再次登录?
感谢。
答案 0 :(得分:1)
这取决于两件事:
一个。如果客户端应用程序维护会话并且该会话尚未到期,则根本不会重定向用户
湾如果客户端会话超时,将重定向用户,但如果IDP仍然运行身份验证会话,则用户无需进行身份验证,并将使用新令牌立即发送回客户端应用程序。
这取决于IDP会话存在/超时
基本上,身份提供商对用户进行身份验证并决定如何执行此操作。它可以提示输入凭据,但也可以(通常)在有限的时间内为用户创建和维护身份验证会话,从而实现真正的单点登录(SSO)。
另请注意,此行为不依赖于手头的确切协议(OpenID Connect,OAuth甚至SAML):对于将用户重定向到联合SSO系统中的身份提供程序的任何协议,它都会起作用。< / p>
答案 1 :(得分:0)
在OpenID Connect中,RP的会话通常在RP验证最终用户的ID Token.ID令牌包含到期时间时启动。因此,如果用户刚刚离开(未注销)并且id_token在访问RP时过期,则最终用户需要重新进行身份验证。
如果最终用户从依赖方退出并且OpenID提供商支持注销机制,例如OIDC会话管理,OIDC前端通道注销或OIDC反向通道注销,则将记录共享相同浏览器会话的所有RP out(SLO)。因此,最终用户需要再次登录OP才能访问RP。