Single sign on 单点登录SAML拦截

Single sign on 单点登录SAML拦截,single-sign-on,saml,saml-2.0,adfs2.0,simplesamlphp,Single Sign On,Saml,Saml 2.0,Adfs2.0,Simplesamlphp,我正在研究SSO的一些新用法。基本上,我试图找到一种方法来截获SAML请求,该请求通过某种IdP代理或第三方服务从服务提供商发送到身份提供商,该服务将保存SAML请求,并向用户提供一些附加功能。所需的过程可能如下所示: 用户从SP调用SAML请求-例如单击登录按钮 用户被重定向到第三方服务,例如小型调查(这是理论示例) 提交调查后,用户将被重定向到IdP,并应继续登录 我在SimpleSAMLphp和配置联合方面有很好的经验。但我试图找到一些关于这种拦截的有用信息,但失败了。我为这个解决方案添加

我正在研究SSO的一些新用法。基本上,我试图找到一种方法来截获SAML请求,该请求通过某种IdP代理或第三方服务从服务提供商发送到身份提供商,该服务将保存SAML请求,并向用户提供一些附加功能。所需的过程可能如下所示:

  • 用户从SP调用SAML请求-例如单击登录按钮
  • 用户被重定向到第三方服务,例如小型调查(这是理论示例)
  • 提交调查后,用户将被重定向到IdP,并应继续登录
  • 我在SimpleSAMLphp和配置联合方面有很好的经验。但我试图找到一些关于这种拦截的有用信息,但失败了。我为这个解决方案添加了一张超级基本的图片。(请不要笑:)

    SAML是否支持任何类型的这种处理?我愿意讨论。我还考虑在用户登录IdP后拦截SAML(从IdP重定向到第三方服务代理,然后再重定向到SP)

    谢谢你的建议和想法;希望这不是一个完全愚蠢的问题



    编辑:在我的研究中,我遇到了一种称为IDP代理的技术/方法。你认为这对我来说可行吗?基本上,SAML IdP代理是SAML IdP联盟和SAML SP联盟之间的桥梁或网关

    我认为这是不可能的,它只是超出了协议。SP提供服务,IdP负责用户身份验证。两者之间似乎没有第三方服务的位置

    我想你可以控制(至少)SP或IdP。尝试在您控制的提供商处实施您的调查(或其他)


    作为替代方案,您可以尝试实现自己的IdP,包括使用原始IdP进行身份验证的调查(或其他任何内容)。

    是的,但问题是,或者说,我既不控制SP也不控制IdP。我知道我可以改进IdP或SP。但我不是在问这个问题。但是感谢您的回答,我很感激我不是这方面的专家,尽管我花了一些时间对SAML(vCenter SSO)进行故障排除。但我认为你想做的事是不可能的。Afaik SAML不支持SP和IdP之间添加附加功能的第三方服务。我担心这种情况。我知道SimpleSAMLphp实现了一种称为身份验证处理过滤器的功能,在用户通过身份验证后,基本上可以在SP或IDP上执行一些附加操作。但这与我想要实现的方法不同。顺便说一句,我不想操纵SAML请求/响应。例如,我想获取请求/响应并将其保持到用户完成调查为止。无论如何,您将无法操纵SAML响应。签名了。更改响应将导致响应无效。如果你不控制SP或IdP,我看不出你如何在没有任何“MITM攻击”的情况下实现目标。