OneLogin 不传回 SAML RelayState

OneLogin does not pass back SAML RelayState

在 SAML 中,如果 SP 在 SP 发起的 SSO 登录期间发送 RelayState 参数,则 IdP (OneLogin) 应该完全按照 SP 发送的那样发送回 RelayState。这可用于导航到特定页面等。

但是,OneLogin 似乎没有发回它。配置 OneLogin 应用程序时,配置有一个名为 RelayState 的字段。我以前从来不需要它,所以我把它留空了,认为它是 'default' RelayState,以防 SP 不发送 RelayState 或者它是 IdP 启动的登录,但这似乎不是案例

有没有办法让 OneLogin 发回 SP 在 SP 发起的登录期间发送的 RelayState?我需要在这个 RelayState 应用程序配置字段中添加一些 variable/tag 吗?顺便说一句,即使我在 RelayState 字段中随机放置一些东西,即使在 IdP 启动登录时,OneLogin 也不会发送到 SP(所以也许我需要在我看不到的地方打开它)。

我在这里使用我们的 SP 应用程序和 OneLogin 进行了测试,没有任何问题。 SAML 身份验证请求中包含的中继状态由 OneLogin 使用 SAML 响应return编辑。

我的理解是,可以在 OneLogin 中配置的中继状态仅适用于 IdP-initiated SSO。我把这个留空了。 OneLogin 中不需要特殊设置即可使其正确 return 中继状态作为 SP-initiated SSO 的一部分。

您是使用 HTTP-Redirect 还是 HTTP-Post 发送身份验证请求?

两者都应该有效。我建议仔细检查身份验证请求是否正确包含 RelayState 参数。