LDAPユーザーフェデレーションでKeycloak 9.0.3を使用しており、編集モード=書き込み可能、ユーザーのインポート=オンです。LDAPでユーザーとグループを作成、更新、削除するためにKeycloak REST APIを呼び出す必要があるSpring Bootアプリケーションを開発しています。また、ユーザー フェデレーションに「group-ldap-mapper」を作成して、LDAP グループを Keycloak グループに、またはその逆にマッピングしました。
私の要件は、REST API を介して Keycloak グループを作成および削除することであり、上記のマッパーを使用して LDAP のグループにマップされます。アプリケーションがPOST /{realm}/groupsを呼び出すと、Keycloak は Keycloak-DB にグループを作成するだけで、グループがユーザーに割り当てられない限り LDAP と同期しません。これは実際には大きな問題ではありません。本当の問題は、私のアプリケーションがDELETE /{realm}/groups/{id}を介してグループを削除するときです。グループは Keycloak-DB から削除されますが、LDAP からは削除されません。許容できる回避策は、POST /{realm}/user-storage/{parentId}/mappers/{id}/syncを呼び出してグループを同期し、ジョブを実行することです。
この回避策の問題は、Spring アプリケーションでハードコーディングする以外にフェデレーション マッパー ID ({id}) を取得する方法がないことです。この ID をプログラムで取得するための REST 呼び出しはありません。
これを解決する方法はありますか?