尝试使用OneLogin实现多个ACS支持

问题描述 投票:0回答:1

我们正在尝试实施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属性相同的混乱

saml-2.0 onelogin
1个回答
0
投票

使用适当的群集,您将拥有一个ACS URL,群集将管理SAML之外的群集成员之间的用户会话。我没有听说有多个ACS URL用于支持SP的单个SAML。 IdP(Onelogin)需要具体知道发送SAML响应的位置。我认为您需要查看群集配置,并查看是否可以将其配置为端点,而不管启动SAML请求的群集实例如何。


0
投票

啊,但思科很特别,你不知道吗? :)

我设法让它在此期间工作,并且在将来阅读此线程的任何人,我可以确认OneLogin现在可以使用单个群集范围的元数据来支持思科群集。但对于任何其他IdP,设置是:

IdP要求

  • CUCM仅支持NameIDFormat为瞬态
  • 需要启用HTTP-POST和HTTP重定向SAML绑定
  • 需要支持允许定义多个AssertionConsumerService标记的SAML规范

手术

  • 设置SSO时,如果使用群集范围的SSO模式,则在CUCM生成的元数据中定义多个AssertionConsumerService标记。群集中的每个服务器都有两个,一个使用POST方法,另一个使用Redirect。每个ACS还有一个索引标记,从0开始。这将发送到IdP
  • 当尝试验证SAML请求被发送到IdP时,在请求中,AssertionConsumerServiceIndex字段被设置为生成请求的服务器的索引,如最初提供给IdP的元数据中所定义的
  • 然后,IdP发回SAML响应,其中Destination和Recipient标记设置为与请求服务器对应的元数据中的Location标记匹配

enter image description here

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.