我对SAML(v2)协议的理解是服务提供商应该直接与Identity Providers交互以交换授权请求和断言消息。
我可以想到为什么这会是一个坏主意的一些原因(破坏消息签名,允许中间IdP访问来自其他IdP的信息),但SAML是否支持以下安排?
SP< ------> MainIdP< ------> ThirdPartyIdP
所以(假设)假设MainIdP有一些聪明的方法来确定SP用户需要对ThirdPartyIdP进行身份验证,它会委托给ThirdPartyIdP然后接收响应,处理它并回复SP。 SAML是否允许这样做? (我在问,因为软件供应商提出了这种方法,我认为它不受支持,并且基本上不安全。)
我理解的“正确”方法是将SP配置为独立地了解两个IdP,并向用户显示可从中挑选的列表,或委托给可以询问用户的Discovery Service,或通过其他方式推断,IdP使用。这是对的吗?
感谢。
答案 0 :(得分:1)
SAML的大多数联盟身份提供程序都具有“Home Realm Discovery”屏幕的概念。
SP与MainIdP“绑定”,但MainIdP会显示一个屏幕,显示与其联合的所有其他IDP。从该列表中,您可以选择ThirdPartyIdP。