我对 SAML (v2) 协议的理解是服务提供者应该直接与身份提供者交互以交换授权请求和断言消息。
我可以想到许多原因,为什么这是一个坏主意(破坏消息签名,让中间 IdP 访问来自其他 IdP 的信息),但是 SAML 是否支持任何允许以下安排的场景?
SP <------> MainIdP <-----> ThirdPartyIdP
因此(假设地)假设 MainIdP 有一些聪明的方法来确定 SP 用户需要对 ThirdPartyIdP 进行身份验证,它将委托给 ThirdPartyIdP 然后接收响应、处理它并回复给 SP。SAML 是否允许这样做?(我之所以问,是因为软件供应商建议了这种方法,我认为它不受支持,而且从根本上不安全。)
据我所知,“正确”的方法是将 SP 配置为独立了解两个 IdP,并向用户提供可供选择的列表,或委托给可以询问用户或推断的发现服务IdP 使用的其他方式。这是正确的吗?
谢谢。