当前位置: 首页 > 知识库问答 >
问题:

在单点登录期间,在TAI和ACS处理SAML响应之后,如何访问它

程禄
2023-03-14

我开发了一个自定义Web应用程序(WAR),它需要从请求对象中检索SAML响应并从中提取用户配置文件属性。在WebSphere(服务提供商)上部署相同的

尝试实现以下方法,其中:: -OneLogin(身份提供者)发送SAML响应和中继状态-SAML响应由ACS应用程序处理-ACS应用程序将用户重定向到自定义Web应用程序(设置在IdP的RelayState中)-然后,该应用程序将从请求中检索SAML响应对象,使用用户配置文件属性填充动态缓存,并将用户重定向到主应用程序主页。

目前,当ACS重定向到定制web应用程序(设置为中继状态)时,SAML响应(一旦被WebSphere TAI和ACS应用程序接收和处理)似乎不可用。是否可以将ACS应用程序的SAML响应保存并传递给自定义web应用程序?

如有任何帮助/指示,将不胜感激。

温馨的问候,埃坎什

共有2个答案

梁丘伟
2023-03-14

保存和传递SAML响应是没有意义的。本质上,正如协议所定义的,一旦用户通过身份验证@ OneLogin,它就在SAML响应中将SAML令牌发送回ACS。ACS验证SAML令牌,并允许用户继续操作。

现在,如果您要将用户重定向到自定义 Web 应用程序并希望使用 SAML ,那么理想情况下,您应该在应用程序中实现一个 SAML 服务提供程序库,并且您的自定义 Web 应用程序将充当另一个 SAML 客户端 ,在 OneLogin 中注册。在这种情况下,如果在这种情况下,在标识提供者处启用了SSO,用户将获得类似SSO的体验 OneLogin ,因为他在登录到ACS时已经对自己进行了身份验证。

亢建木
2023-03-14

在您的应用程序中不可能获得原始的SamlResponse消息。但是,可以从应用程序获取SAML令牌(SAML XML文件)。通常,用户可以使用此SAML令牌通过SOAP安全头或Http头进行web服务调用,或者进行WS-Trust调用以将SAML令牌交换为新的SAML令牌,用于下游服务调用。你能进行web服务调用(JAX-WS或者JAX-RS)来代替浏览器重定向吗?如果web服务调用对您有用,我可以帮助您使它工作。

 类似资料:
  • 我想记住我的网站(SP)的第一次请求的url请求参数,并在IdP响应后使用它们。 我正在使用spring-saml扩展并考虑relayState属性,但找不到如何使用请求中的参数构建它的示例。 我需要在sso认证过程后重定向用户到目标页面(应用程序模块),这取决于第一个请求中的内容。

  • 我正在尝试通过SAML请求将SSO集成到我们的ASP. NET应用程序中。我正在使用KentorAuthService库来实现这一点。使用kentor库是否是从其他身份提供者(例如(一次登录、快速身份等)进行身份验证的解决方案,或者我应该专门基于身份提供者实施。

  • 我正在研究SSO的一些新用法。基本上,我正在尝试找到如何拦截SAML请求的方法,该请求通过某种IdP代理或第三方服务从服务提供商发送到身份提供商,该服务将保存SAML请求并为用户提供一些附加功能。所需的过程可能如下所示: 用户从SP调用SAML请求-例如单击登录按钮 用户被重定向到第3方服务,例如,小型调查(这是理论示例) 提交调查后,用户被重定向到IdP并应继续登录 我对SimpleSAMLph

  • 我通过HTTP重定向从ADFS获得了SAML响应,并且在重定向时收到了以下请求参数

  • 问题内容: 由于JavaScript在单个线程中运行,因此在发出AJAX请求后,后台实际发生了什么?我想对此有更深入的了解,有人可以阐明吗? 问题答案: 在幕后,javascript具有事件队列。每次执行javascript线程完成时,它都会检查队列中是否还有其他事件要处理。如果存在,它将退出队列并触发该事件(例如,单击鼠标)。 位于ajax调用下的本机代码网络将知道ajax响应何时完成,并且事件

  • 我们有两个独立的产品,都包括Web应用程序和服务器。 我们希望为这两个产品都实现单点登录,这样当用户登录到一个产品时,他可以自动访问属于他的另一个产品中的资源。 我已经探索了一点,发现SAML是我们可以采取的一个很好的方法,但是我们不确定我们想如何进行。 实施我们自己的服务提供商是个好主意吗?我看过Shib SP,但看起来如果我想将其集成到我的产品中,也不会那么容易。 所以我只是向以前遇到过类似问