【发布时间】:2019-07-24 23:18:21
【问题描述】:
我的任务是使用 SAML 开发 SSO 系统。我必须登录身份提供商(通过移动应用程序)并在身份验证后重定向到我的网站。
经过一些研究,我认为了解服务提供者和 ID 提供者之间的交互以及如何确认用户的身份。
但是当我将用户重定向到另一个服务提供商时会发生什么?如何在不使用身份提供者再次登录的情况下将经过身份验证的用户的身份转移到我的网站。
我必须将 SAML 断言令牌与重定向请求一起发送吗?
【问题讨论】:
我的任务是使用 SAML 开发 SSO 系统。我必须登录身份提供商(通过移动应用程序)并在身份验证后重定向到我的网站。
经过一些研究,我认为了解服务提供者和 ID 提供者之间的交互以及如何确认用户的身份。
但是当我将用户重定向到另一个服务提供商时会发生什么?如何在不使用身份提供者再次登录的情况下将经过身份验证的用户的身份转移到我的网站。
我必须将 SAML 断言令牌与重定向请求一起发送吗?
【问题讨论】:
是的。如果您使用service provider-initiated SSO flow,这会无缝发生。
当您尝试访问任何 SAML 服务提供商上的资源时,如果您未在服务提供商处进行身份验证,您将被重定向回身份提供商。假设这是第一次发生。身份提供者会提示进行身份验证,然后它将向服务提供者发送 SAML 响应。现在您尝试访问另一个 SAML 服务提供商上的资源。您将再次被重定向到身份提供者,但这次不会提示您进行身份验证,只要身份提供者处的安全上下文(会话..)仍然存在。身份提供者将静默发送 SAML 响应给第二个服务提供者。
【讨论】: