Merge pull request #13406 from timbuchwaldt/ae-dir

Enable ae-dir LDAP vendor
This commit is contained in:
Patrik Oldsberg
2022-08-29 18:22:44 +02:00
committed by GitHub
4 changed files with 18 additions and 1 deletions
+5
View File
@@ -0,0 +1,5 @@
---
'@backstage/plugin-catalog-backend-module-ldap': patch
---
Added ae-dir LDAP vendor to correctly extract DN.
@@ -24,6 +24,7 @@ import {
ActiveDirectoryVendor,
DefaultLdapVendor,
FreeIpaVendor,
AEDirVendor,
LdapVendor,
} from './vendors';
@@ -226,6 +227,8 @@ export class LdapClient {
return ActiveDirectoryVendor;
} else if (root && root.raw?.ipaDomainLevel) {
return FreeIpaVendor;
} else if (root && 'aeRoot' in root.raw) {
return AEDirVendor;
}
return DefaultLdapVendor;
})
@@ -128,7 +128,6 @@ export async function readLdapUsers(
mapReferencesAttr(user, vendor, map.memberOf, (myDn, vs) => {
ensureItems(userMemberOf, myDn, vs);
});
entities.push(entity);
});
@@ -73,6 +73,16 @@ export const FreeIpaVendor: LdapVendor = {
},
};
export const AEDirVendor: LdapVendor = {
dnAttributeName: 'dn',
uuidAttributeName: 'entryUUID',
decodeStringAttribute: (entry, name) => {
return decode(entry, name, value => {
return value.toString();
});
},
};
// Decode an attribute to a consumer
function decode(
entry: SearchEntry,