【问题标题】:How does OpenID Connect work?OpenID Connect 是如何工作的?
【发布时间】:2017-05-23 06:08:39
【问题描述】:

有人可以为我解释一下这个用例吗?我们会通知将登录第三方客户端应用程序的用户。使用 OAUTH2 框架,客户端应用程序将重定向到我们的站点进行身份验证。据我了解,授权服务器将返回一个访问令牌和一个 id_token (OpenID Connect)。

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

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

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

谢谢。

【问题讨论】:

    标签: oauth-2.0 openid-connect


    【解决方案1】:
    1. 这取决于两件事:

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

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

    2. 再次取决于 IDP 会话是否存在/超时

    本质上是身份提供者对用户进行身份验证并决定如何执行此操作。它可以提示输入凭据,但也可以在(通常)有限的时间内为用户创建和维护身份验证会话,从而实现真正的单点登录 (SSO)。

    另请注意,此行为不依赖于手头的确切协议(OpenID Connect、OAuth 甚至 SAML):对于将用户重定向到联合 SSO 系统中的身份提供者的任何协议,它的工作方式都相同。

    【讨论】:

      【解决方案2】:

      在 OpenID Connect 中,RP 上的会话通常在 RP 验证最终用户的 ID 令牌时开始。 ID 令牌由过期时间组成。所以如果用户刚刚离开(未注销)并且访问 RP 时 id_token 已过期,那么最终用户需要重新认证。

      如果最终用户从依赖方注销并且 OpenID 提供者支持注销机制,例如 OIDC 会话管理、OIDC 前通道注销或 OIDC 后通道注销,则将记录共享同一浏览器会话的所有 RP出(SLO)。然后最终用户需要再次登录到 OP 才能访问 RP。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-10-23
        • 2018-06-21
        • 1970-01-01
        • 1970-01-01
        • 2017-05-18
        • 2018-04-17
        • 2017-02-09
        相关资源
        最近更新 更多