当前位置: 首页 > 知识库问答 >
问题:

KeyClope管理REST-API同步联合映射器

姚信鸥
2023-03-14

我正在使用KeyCloak 9.0.3与LDAP用户联合,与编辑模式=WRITABLE和导入用户=上。我正在开发一个Spring引导应用程序,它应该调用KeyCloak REST API来创建、更新、删除LDAP中的用户和组。我还在我的用户联盟中创建了“group-ldap-mapper”,以将LDAP组映射到KeyCloak-组,反之亦然。

我的要求是通过REST API创建和删除KeyCloak组,然后使用上面的映射器将它们映射到LDAP中的组。当我的应用程序调用POST/{领域}/组时,KeyCloak只会在KeyCloak-DB中创建组,并且不会同步到LDAP,除非该组被分配给某个用户。这其实问题不大。真正的问题是当我的应用程序通过DELETE/{领域}/组/{id}删除组时。这些组会从KeyCloak-DB中删除,但不会从LDAP中删除。一个可以接受的解决方法是调用POST/{领域}/user-store/{父母ID}/mappers/{id}/sync来同步组并执行任务。

这个解决方案中的问题是,除了在spring应用程序中对联邦映射器id({id})进行硬编码之外,没有其他方法可以获取它。没有REST调用以编程方式检索此id。

你知道怎么解决这个问题吗?

共有1个答案

萧成文
2023-03-14

我想出了如何以编程方式找到联邦和group-ldap-mapper的id,以便在调用POST/{领域}/user-store/{父母ID}/mappers/{id}/sync中使用它们。

可以调用GET/{realm}/components。这将返回联邦和映射器等。在我的例子中,我可以从UserRepresentation中找到联邦id,然后用它来过滤组件(parent={federation id})。根据文档,还有一个类型查询,但我无法找出正确的值。

 类似资料:
  • 我喜欢从我自己的应用程序管理键斗篷:创建用户 请求一个访问令牌,其用户名:密码在标题 但答案是403: 如何/是否可能通过客户端凭据授权从新服务帐户访问Admin REST API?

  • 主要内容:关联映射,反转,级联在前面的学习中,我们所涉及的都是基于单表的操作,但在实际的开发过程中,基本上都是同时对多张表的操作,且这些表都存在一定的关联关系。 Hibernate 是一款基于 ORM 设计思想的框架,它将关系型数据库中的表与我们 Java 实体类进行映射,表中的记录对应实体类的对象,而表中的字段对应着实体类中的属性。Hibernate 进行增删改查等操作时,不再直接操作数据库表,而是对与之对应的实体类对象进行

  • 问题内容: 我一直在搜索如何使用Spring 3.2.x管理REST API版本,但没有找到易于维护的东西。我将首先解释我所遇到的问题,然后是一个解决方案……但我确实想知道是否在这里重新发明轮子。 我想基于Accept标头管理版本,例如,如果请求具有Accept标头application/vnd.company.app-1.1+json,我希望spring MVC将其转发到处理此版本的方法。而且由

  • 提纲ceph-rest-api [ -c conffile ] [–cluster clustername ] [ -n name ] [-i id ] 描述 ceph-rest-api 是一个 WSGI (网页服务器网关接口)应用程序,可作为网页服务独立运行,也可在支持 WSGI 的网页服务器下运行。它通过 HTTP 访问接口提供了 ceph 命令行工具的大多数功能。 选项 -c/--conf

  • Object Name Description as_declarative(**kw) 类修饰符,它将把给定的类调整为 declarative_base() . class_mapper(class_[, configure]) 给定一个类,返回主类 Mapper 与键关联。 clear_mappers() 从所有类中移除所有映射器。 configure_mappers() 初始化到目前为止已构

  • 我想合并两个地图与JAVA 8流: 我尝试使用以下实现: 但是,此实现只会产生如下结果: