Okta IDP 发起的 RelayState

Okta IDP Initiated RelayState

谁能告诉我如何为 IDP 发起的 SSO 连接传递 RelayState。我们有 SSO 工作,但想深入 link 到服务提供商应用程序中的页面。他们已指示我们在 RelayState 上通过,但我不知道如何为 Okta 格式化 URL。我们正在使用嵌入式应用程序 link 并希望将 RelayState 附加到查询字符串。

要使用 Okta 启动 IdP 发起的 SAML,您需要使用 IdP SSO URL 并将 ?RelayState= 附加到 url,而不是应用嵌入 url。

您可以通过单击管理控制台中应用程序的登录选项卡上的 "View Setup Instructions" 找到 IdP SSO URL url。

一个例子(不要忘记URL对查询字符串进行编码): https://thomas-kirk.oktapreview.com/app/salesforce/kqk5e18ZGRXWPQXOCNBQ/sso/saml?RelayState=%2F_ui%2Fcore%2Fchatter%2Fui%2FChatterPage

对于 IdP 发起的 SSO(先登录 IdP,然后访问 SP),您可以在常规 SAML 设置下修改 RelayState,例如:

请注意,应用程序嵌入 url 仅适用于 IdP 发起的 SSO,不应将其用作 SP 发起的 SSO 作为其 IdP SSO URL。

当用户直接访问 SP(无需先登录 IdP)时,它会启动 SP 发起的 SSO。这就是您可以将 ?RelayState=your_deep_link 附加到 IdP SSO URL 的地方,这样在您登录 IdP 后,它 returns 深层 link 回到 SP 以便您重定向到.

正如@Thomas Kirk 所说,"you can find the IdP SSO URL url by clicking "在管理控制台中应用程序的“登录”选项卡上查看设置说明。“