我们正在尝试实施SSO,使用OneLogin作为我们的Cisco Call Manager集群的IdP,使用针对集群中所有服务器的单一协议。
这基本上意味着我们的元数据文件包含集群中每个服务器的单独AssertionConsumerService标记。
但是,我们遇到的问题是,在SAML响应中,Destination不被识别为有效。
我的问题是,在使用多个ACS的情况下,目标字段在SAML响应中需要看起来像什么? IdP是否需要识别请求来自哪个消费者并动态地将响应中的目的地更改为特定消费者的正确目的地?
现在,SAML响应看起来像这样:
<samlp:Response
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Destination="https://<CUCM_2>:8443/ssosp/saml/SSO/alias/<CUCM_2>https://<CUCM_2>:8443/ssosp/saml/SSO/alias/<CUCM_2>https://<IMP_1>:8443/ssosp/saml/SSO/alias/<IMP_1>https://<IMP_1>:8443/ssosp/saml/SSO/alias/<IMP_1>https://<CUCM_1>:8443/ssosp/saml/SSO/alias/<CUCM_1>https://<CUCM_1>:8443/ssosp/saml/SSO/alias/<CUCM_1>" ID="pfx117d2cec-f554-1fba-ff86-8db77b497e35" InResponseTo="s2ded98fb1a7423ea7bb1fcc95cf5c57ae3bf19684" IssueInstant="2019-02-18T16:06:06Z" Version="2.0">
并且我们在SubjectConfirmationData中获得了与Recipient属性相同的混乱
使用适当的群集,您将拥有一个ACS URL,群集将管理SAML之外的群集成员之间的用户会话。我没有听说有多个ACS URL用于支持SP的单个SAML。 IdP(Onelogin)需要具体知道发送SAML响应的位置。我认为您需要查看群集配置,并查看是否可以将其配置为端点,而不管启动SAML请求的群集实例如何。
啊,但思科很特别,你不知道吗? :)
我设法让它在此期间工作,并且在将来阅读此线程的任何人,我可以确认OneLogin现在可以使用单个群集范围的元数据来支持思科群集。但对于任何其他IdP,设置是:
IdP要求
手术