mirror of
https://github.com/bitwarden/directory-connector
synced 2026-01-04 17:43:31 +00:00
stub out directory services
This commit is contained in:
12
src/services/azure-directory.service.ts
Normal file
12
src/services/azure-directory.service.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import * as graph from '@microsoft/microsoft-graph-client';
|
||||
|
||||
import { DirectoryService } from 'src/services/directory.service';
|
||||
|
||||
export class AzureDirectoryService implements DirectoryService {
|
||||
getEntries(force = false) {
|
||||
}
|
||||
|
||||
private getUsers() {
|
||||
|
||||
}
|
||||
}
|
||||
3
src/services/directory.service.ts
Normal file
3
src/services/directory.service.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
export interface DirectoryService {
|
||||
getEntries(force?: boolean): any;
|
||||
}
|
||||
14
src/services/gsuite-directory.service.ts
Normal file
14
src/services/gsuite-directory.service.ts
Normal file
@@ -0,0 +1,14 @@
|
||||
import { google, GoogleApis } from 'googleapis';
|
||||
import { Admin } from 'googleapis/build/src/apis/admin/directory_v1';
|
||||
|
||||
import { DirectoryService } from 'src/services/directory.service';
|
||||
|
||||
export class GSuiteDirectoryService implements DirectoryService {
|
||||
getEntries(force = false) {
|
||||
}
|
||||
|
||||
private async getUsers() {
|
||||
const service = google.admin<Admin>('directory_v1');
|
||||
const groups = await service.groups.list();
|
||||
}
|
||||
}
|
||||
39
src/services/ldap-directory.service.ts
Normal file
39
src/services/ldap-directory.service.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import * as ldap from 'ldapjs';
|
||||
|
||||
import { DirectoryService } from 'src/services/directory.service';
|
||||
|
||||
export class LdapDirectoryService implements DirectoryService {
|
||||
getEntries(force = false) {
|
||||
}
|
||||
|
||||
private getUsers() {
|
||||
const client = ldap.createClient({
|
||||
url: 'ldap://127.0.0.1:1389'
|
||||
});
|
||||
|
||||
const options: ldap.SearchOptions = {
|
||||
filter: '(&(l=Seattle)(email=*@foo.com))',
|
||||
scope: 'sub',
|
||||
attributes: ['dn', 'sn', 'cn']
|
||||
};
|
||||
|
||||
client.search('o=example', options, (error, response) => {
|
||||
if (error != null) {
|
||||
|
||||
}
|
||||
|
||||
response.on('searchEntry', (entry) => {
|
||||
console.log('entry: ' + JSON.stringify(entry.object));
|
||||
});
|
||||
response.on('searchReference', (referral) => {
|
||||
console.log('referral: ' + referral.uris.join());
|
||||
});
|
||||
response.on('error', (err) => {
|
||||
console.error('error: ' + err.message);
|
||||
});
|
||||
response.on('end', (result) => {
|
||||
console.log('status: ' + result.status);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user