Ping Federate 中的多个适配器

Multiple Adapters in Ping Federate

我已经为 SP 连接 配置了多个(HTTP 格式适配器)IdP 适配器(IdP 配置)。用户属性是从数据存储中获取的 (LDAP)。在 LDAP 中配置了两个 DIT。因此,每个 IdP 适配器都配置了一个 DIT。我只想使用多个适配器,因为我不能对多个 organizations.Eg 使用相同的属性名称:Adapter1 的搜索基础配置为 dc=example1,dc=com,Adapter2 的搜索基础配置为 dc=example2,dc= com。

当 IdP SSO url 被点击时,它会显示适配器 selection.When 的页面,用户输入 username/password,根据输入,应该自动启用适配器选择选择它 manually/appending 特定的适配器 ID 作为查询参数。

我发现可以使用适配器选择器启用自动适配器选择。但是现有的适配器,例如 CIDR 和 saml authn context adapter 并不适用于我的要求。因为要么是基于SP设置的请求IPaddress/context。我已经通过了复合适配器。但是我找不到有关将复合适配器与 SP 连接集成的详细文档。

谁能告诉我我的方法是否正确?如果是这样请指导我integration.If错了,建议我一个方法。

谢谢, 阿斯维尼 J

我认为您可以通过以下两种方式中的一种来执行此操作。您可以使用 1 个带有 2 个 PCV 的适配器或 2 个适配器(每个带有 1 个 PCV),然后将它们组合成一个复合适配器,然后在您的 SP 连接中使用 if 您的目标是删除 Idp 适配器选择决定。

您将 运行 遇到的问题是,如果用户使用 "uid=joe" 等价物登录到您的 HTMLForm 适配器,并且 "uid=joe" 存在于您的两个 LDAP 后缀中。你怎么知道哪个 "joe" 是正确的?您可能需要确保登录标识符是唯一的(电子邮件?)。但是,这只是您可以设置用户身份验证的方式。它不会真正帮助您实现属性合同履行,您需要搜索单个数据源的两个 LDAP 后缀以检索用户的属性(例如,电话号码)。

您需要在断言映射屏幕上指定 "Retrieve additional attributes from multiple data stores using one mapping",然后针对 "telephoneNumber" 的单个数据源的两个后缀进行查找。假设您正在搜索的用户的身份属性在两个后缀(电子邮件?)中是唯一的,您将针对一个或另一个后缀搜索获得空值(因为用户将存在于一个或另一个中)。

当您进入属性合同履行屏幕时,您需要将断言的属性 "phone no" 映射到检查 2 个数据源查找结果的表达式,丢弃 "null" telephoneNumber 的结果并插入有效的搜索结果。

您可以简单地使用多个数据源。从第一个数据源的唯一值配置另一个数据源的过滤器。 例如:uid=${userId} .