首页 文章

OpenID Connect如何工作?

提问于
浏览
0

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

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

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

基本上,OpenID Connect over OAUTH2是否允许用户登录一次,然后在访问第三方应用程序或我们的应用程序后无需再次登录?

谢谢 .

2 回答

  • 1
    • 这取决于两件事:

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

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

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

    本质上,身份提供商对用户进行身份验证并决定如何执行此操作 . 它可以提示凭证,但也可以(通常)在有限的时间段内为用户创建和维护认证会话,这允许真正的单点登录(SSO) .

    另请注意,此行为不依赖于手头的确切协议(OpenID Connect,OAuth甚至SAML):对于将用户重定向到联合SSO系统中的身份提供程序的任何协议,它都会起作用 .

  • 0

    在OpenID Connect中,RP的会话通常在RP验证最终用户的ID Token.ID令牌包含到期时间时启动 . 因此,如果用户刚刚离开(未注销)并且id_token在访问RP时过期,则最终用户需要重新进行身份验证 .

    如果最终用户从依赖方注销并且OpenID提供程序支持注销机制(如OIDC会话管理,OIDC前端通道注销或OIDC反向通道注销),则将注销共享相同浏览器会话的所有RP(SLO) ) . 因此,最终用户需要再次登录OP才能访问RP .

相关问题