为什么基于“目录服务”和 cookie 的 SSO 只能在一个互联网域内工作?

问题描述 投票:0回答:1

在本书的第 3 章解决现代应用程序中的身份管理:揭秘 OAuth 2、OpenID Connect 和 SAML 2,有一节说:

早期的 SSO 服务器

多种类型的身份和访问管理(IAM)或单点登录(SSO)服务器提供了进一步的改进。早期的 SSO 服务器利用目录服务中的身份信息,但在目录服务之上提供了一个层,用于维护会话以记住已通过身份验证的用户。它们的工作方式各不相同,但在典型的方法中,应用程序可以将用户的浏览器重定向到 SSO 服务器,以便在那里对用户进行身份验证,并且应用程序将以安全、预定的方式接收身份验证结果。如果用户访问第二个应用程序,则在对第一个应用程序进行身份验证后不久,第二个应用程序会将用户的浏览器重定向到 SSO 服务器,并且 SSO 服务器将检测用户的现有会话并将其重定向回状态为成功的应用程序无需再次提示用户输入凭据。

单点登录服务器的引入与目录服务相比具有许多优势。用户受益于通过一次身份验证访问多个应用程序的能力。安全团队意识到用户的静态目录密码仅暴露给 SSO 服务器,而不是暴露给用户访问的每个应用程序。 IT 部门很高兴,因为这为他们提供了一个实施身份验证策略和更强大的身份验证机制的地方。

不幸的是,早期的 SSO 服务器在实践中存在一些缺点。应用程序和 SSO 服务器之间的交互在某种程度上是专有的,并且 SSO 产品的实施通常非常耗时。这意味着在拥有将应用程序与 SSO 服务器集成的资源的大型公司中,它们的采用更为明显。一个更重要的限制是 单点登录依赖于 cookie,由于浏览器对 cookie 访问的限制,这意味着该解决方案可以在一个互联网域(例如

www.mycompany.com
)内运行。由于许多公司对外部软件即服务 (SaaS) 应用程序开始感兴趣,这是一个限制。

我不明白我用粗体和斜体写的句子:

  • 如果此 SSO 解决方案适用于重定向风格,那么它与 cookie 有什么关系?
  • 如果使用外部 SaaS 应用程序存在限制,那么它如何与内部域(例如
    app1.mycompany.com
    )配合使用,这与
    www.mycompany.com
    不同。

我在 Google 上搜索并询问了 ChatGPT 和 Bard。他们没有给我一个合理的答案。

single-sign-on
1个回答
0
投票

使用域 Cookie 同步单点登录 (SSO) 似乎就是这种情况。第二个应用程序使用 Cookie 来提取令牌。

但是问题中的引号说:

如果用户访问第二个应用程序,在对第一个应用程序进行身份验证后不久,第二个应用程序会将用户的浏览器重定向到 SSO 服务器,并且 SSO 服务器将检测用户的现有会话并将其重定向回成功的应用程序状态,而不再次提示用户输入凭据。

也许这只是过去的实现之一。并且该限制仅存在于基于 cookie 的 SSO 中。

© www.soinside.com 2019 - 2024. All rights reserved.