OpenID Connect如何运作?

时间:2017-01-09 02:41:08

标签: oauth-2.0 openid-connect

有人可以为我说明用例。我们向将要登录第三方客户端应用程序的用户挥手。使用OAUTH2框架,客户端应用程序将重定向到我们的站点进行身份验证。从我的未知,授权服务器将返回访问令牌和id_token(OpenID Connect)。

1)如果用户通过了我们的身份验证并被重定向到客户端应用程序,如果他们离开客户端应用程序并在几个小时后返回客户端应用程序,他们是否仍然经历了整个重定向到我们的/授权端点重新认证?

2)如果用户通过了我们的身份验证并被重定向到客户端应用程序,如果他们离开客户端应用程序并转到我们的站点,他们是否必须再次登录才能进行身份验证?

基本上,通过OAUTH2的OpenID Connect是否允许用户登录一次,然后在访问第三方应用或我们的应用后不必再次登录?

感谢。

2 个答案:

答案 0 :(得分:1)

  1. 这取决于两件事:

    一个。如果客户端应用程序维护会话并且该会话尚未到期,则根本不会重定向用户

    湾如果客户端会话超时,将重定向用户,但如果IDP仍然运行身份验证会话,则用户无需进行身份验证,并将使用新令牌立即发送回客户端应用程序。

  2. 这取决于IDP会话存在/超时

  3. 基本上,身份提供商对用户进行身份验证并决定如何执行此操作。它可以提示输入凭据,但也可以(通常)在有限的时间内为用户创建和维护身份验证会话,从而实现真正的单点登录(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。