mirror of
https://github.com/bitwarden/directory-connector
synced 2025-12-05 23:53:21 +00:00
Don't check user group filter for deleted users
This commit is contained in:
@@ -90,7 +90,7 @@ export class AzureDirectoryService extends BaseDirectoryService implements IDire
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const entry = this.buildUser(user);
|
const entry = this.buildUser(user);
|
||||||
if (await this.filterOutUserResult(setFilter, entry)) {
|
if (await this.filterOutUserResult(setFilter, entry, true)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,7 +147,7 @@ export class AzureDirectoryService extends BaseDirectoryService implements IDire
|
|||||||
if (!entry.disabled && !entry.deleted) {
|
if (!entry.disabled && !entry.deleted) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (await this.filterOutUserResult(setFilter, entry)) {
|
if (await this.filterOutUserResult(setFilter, entry, false)) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -257,7 +257,8 @@ export class AzureDirectoryService extends BaseDirectoryService implements IDire
|
|||||||
return [userSetType, set];
|
return [userSetType, set];
|
||||||
}
|
}
|
||||||
|
|
||||||
private async filterOutUserResult(setFilter: [UserSetType, Set<string>], user: UserEntry): Promise<boolean> {
|
private async filterOutUserResult(setFilter: [UserSetType, Set<string>], user: UserEntry,
|
||||||
|
checkGroupsFilter: boolean): Promise<boolean> {
|
||||||
if (setFilter == null) {
|
if (setFilter == null) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -273,6 +274,10 @@ export class AzureDirectoryService extends BaseDirectoryService implements IDire
|
|||||||
return this.filterOutResult([userSetTypeExclude, setFilter[1]], user.email);
|
return this.filterOutResult([userSetTypeExclude, setFilter[1]], user.email);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We need to *not* call the /checkMemberGroups method for deleted users, it will always fail
|
||||||
|
if (!checkGroupsFilter) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
const memberGroups = await this.client.api(`/users/${user.externalId}/checkMemberGroups`).post({
|
const memberGroups = await this.client.api(`/users/${user.externalId}/checkMemberGroups`).post({
|
||||||
groupIds: Array.from(setFilter[1]),
|
groupIds: Array.from(setFilter[1]),
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user