diff --git a/plugin/azure_active_directory/src/AzureSyncUsergroupsCommand.php b/plugin/azure_active_directory/src/AzureSyncUsergroupsCommand.php index f64975cd25..30087a16e6 100644 --- a/plugin/azure_active_directory/src/AzureSyncUsergroupsCommand.php +++ b/plugin/azure_active_directory/src/AzureSyncUsergroupsCommand.php @@ -48,10 +48,16 @@ class AzureSyncUsergroupsCommand extends AzureCommand yield sprintf('Obtaining members for group (ID %d)', $groupId); - foreach ($this->getAzureGroupMembers($azureGroupUid) as $azureGroupMember) { - if ($userId = $this->plugin->getUserIdByVerificationOrder($azureGroupMember, 'id')) { - $newGroupMembers[] = $userId; + try { + foreach ($this->getAzureGroupMembers($azureGroupUid) as $azureGroupMember) { + if ($userId = $this->plugin->getUserIdByVerificationOrder($azureGroupMember, 'id')) { + $newGroupMembers[] = $userId; + } } + } catch (Exception $e) { + yield $e->getMessage(); + + continue; } if ($newGroupMembers) { diff --git a/plugin/azure_active_directory/src/AzureSyncUsersCommand.php b/plugin/azure_active_directory/src/AzureSyncUsersCommand.php index 748204680b..36b60f9a2f 100644 --- a/plugin/azure_active_directory/src/AzureSyncUsersCommand.php +++ b/plugin/azure_active_directory/src/AzureSyncUsersCommand.php @@ -42,7 +42,14 @@ class AzureSyncUsersCommand extends AzureCommand $em = Database::getManager(); foreach ($roleGroups as $userRole => $groupUid) { - $azureGroupMembersInfo = iterator_to_array($this->getAzureGroupMembers($groupUid)); + try { + $azureGroupMembersInfo = iterator_to_array($this->getAzureGroupMembers($groupUid)); + } catch (Exception $e) { + yield $e->getMessage(); + + continue; + } + $azureGroupMembersUids = array_column($azureGroupMembersInfo, 'id'); foreach ($azureGroupMembersUids as $azureGroupMembersUid) {