我需要使用一个具有多个身份提供商(Idps)的服务提供商每个idp通过使用子域连接到sp,即http://subdomain1.mysite.com连接到idp1,http://subdomain2.mysite.com连接到idp2等,那么我的断言消费者服务URL看起来就像这个https://mysite.com/SAML/AssertionConsumerService.aspx。
问题是,我需要知道AssertionConsumerService.aspx代码中的响应来自哪个idp,这样我才能加载正确的证书。我已经尝试了发行者,响应目的地和其他方式,但没有成功。
有谁知道区分响应和/或最佳实践的国内流离失所者的好方法吗?或者,有没有一种标准的方法来做到这一点?
我正在使用http://www.componentspace.com/Products/SAMLv20.aspx
发布于 2010-12-16 23:07:04
在我们的系统中,我们有一个表示客户端的实体(我们将其称为“服务域”),并要求客户端通过名称将该实体标识为颁发者元素值或颁发者SPProvidedID属性值。我们端(SP)上的SAML配置与该“服务域”实体相关联,包括例如用于验证其数字签名的公钥证书。
我想说的是,使用Issuer值比尝试关闭子域更合适。
发布于 2010-12-15 23:45:13
正如您已经注意到的,如果所有IDP都有相同的ACS URL,则断言中的目的地将始终相同。
每个IDP都应该(必须?)至少有自己的唯一发行者,如果他们每个人都有自己的公共证书,他们用来签名。根据我的经验,PingFederate和其他服务器在验证响应时会确保加载正确的配置信息。不知道为什么Issuer在这种情况下也不适合你。
你可能会遇到这样的情况,来自同一公司的“不同”IDPs可能会用相同的颁发者和不同的DSIG证书和AttributeStatements向你发送回复,但在大多数情况下,这不应该真的发生。
HTH Ian
https://stackoverflow.com/questions/4451087
复制相似问题