OneLogin SAML身份验证后的Web重定向



我正在使用OneLogin Ruby SAML gem,我们已经使用它成功地验证了我们的用户一段时间了。然而,还有一个小问题——如何重定向RubyonRails应用程序以显示最初请求的页面,而不仅仅是在(重新(验证会话后的默认登录屏幕。

传统上,这是通过"redirect_to"查询参数完成的,例如。https://fqdn/login.html?redirect_to="lt;原始请求页面>quot;

不过,我该如何通过SAML OneLogin身份验证握手来实现这一点呢?

除了发送到IdP SSO URL的SAMLRequest之外,您还需要发送一个RelayState参数和originaly_requested_page。

IdP将维护这样的RelayState参数,并将其返回到SAMLResponse之外,因此在SP断言消费者服务端点上,您将能够检索这样的ReladState。

或者,您可以将这样的值保存在cookie/会话中并发送其密钥,而不是发送URL,因此稍后,在ACS端点上,您可以恢复这样的cookie/会话并获得原始存储的URL值。

request = OneLogin::RubySaml::Authrequest.new
redirect_to(request.create(settings, :RelayState => original_url))

最新更新