如何解决OneLogin SAML 身份验证后的 Web 重定向
我正在使用 OneLogin Ruby-SAML gem,一段时间以来我们一直在使用它来成功验证我们的用户。但是,还有一个小问题 - 如何重定向 Ruby on Rails 应用程序以显示最初请求的页面,而不仅仅是(重新)验证会话后的默认登录屏幕。
传统上这是通过“redirect_to”查询参数完成的,例如https://fqdn/login.html?redirect_to="
我将如何通过 SAML OneLogin 身份验证握手来实现这一点?
解决方法
除了发送到 IdP SSO URL 的 SAMLRequest 之外,您还需要发送带有 original_requested_page 的 RelayState 参数。
IdP 将维护此类 RelayState 参数并将其与 SAMLResponse 一起返回,因此您将能够在 SP 断言消费者服务端点上检索此类 RelayState。
或者,您可以将此类值保存在 cookie/会话中并发送其密钥,而不是发送 URL,以便稍后在 ACS 端点上恢复此类 cookie/会话并获取原始存储的 URL 值。
>request = OneLogin::RubySaml::Authrequest.new
redirect_to(request.create(settings,:RelayState => original_url))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。