diff --git a/authentik/sources/ldap/sync/groups.py b/authentik/sources/ldap/sync/groups.py index c250817fdd64..74ed02ac2015 100644 --- a/authentik/sources/ldap/sync/groups.py +++ b/authentik/sources/ldap/sync/groups.py @@ -90,6 +90,12 @@ def sync(self, page_data: list) -> int: if "users" in defaults: del defaults["users"] parent = defaults.pop("parent", None) + parents = defaults.pop("parents", None) + if parent and parents: + raise FieldError( + "Group property mappings returned both 'parent' and 'parents'; " + "set only one." + ) action, connection = self.matcher.get_group_action(uniq, defaults) created = False @@ -124,6 +130,8 @@ def sync(self, page_data: list) -> int: if parent: group.parents.add(parent) + elif parents: + group.parents.set(parents) self._logger.debug("Created group with attributes", **defaults) except SkipObjectException: continue