【问题标题】:SAML authentication and custom redirect URLSAML 身份验证和自定义重定向 URL
【发布时间】:2016-05-21 02:18:39
【问题描述】:
我们正在研究在我们的应用程序中实施基于 SAML 的 SSO 身份验证,我想知道是否可以通过 SAML 指定自定义重定向 URL。换句话说,我们能否在身份提供者中配置一个服务提供者,并让服务提供者通过 SAML 请求指定身份提供者在登录后应将用户重定向到哪里?
我们之所以寻找这样的东西是因为我们的应用程序在不同的服务器上运行,具体取决于它们所处的开发阶段(开发、测试、登台、生产)。如果我们不必为要迁移到 SAML SSO 的每个应用程序在身份提供程序中配置四个单独的服务提供程序条目,那就太好了。
【问题讨论】:
标签:
url
redirect
single-sign-on
saml
assertion
【解决方案1】:
每个 SP 都有自己的断言消费者服务端点,其中 SAMLResponse 被验证。
SP 所做的一项检查是验证 SAMLResponse 是否已发送到正确的 ACS 端点,因此您无法在测试服务器上处理为 prod 服务器构建的 SAMLResponse。
如果您决定在 1 个唯一的 SP 端点中处理所有 SAMLResponse,并且您的想法是使用“RelayState”参数来指示从 SP 到 IdP 在您可以设置的 ACS 处理 SAMLResponse 后将用户重定向到哪里所有环境都可读的全局会话,因为没有安全/标准的方法将处理后的数据从终端发送到最终端点。
如果您无法设置所有环境都可读的全局会话,那么您必须在 IdP 中注册所有 SP。