simple-ad
Version:
Basic ldapjs wrapper for reading and writing AD objects. Currently only searching and editing of group members is implemented.
303 lines (170 loc) • 5.42 kB
Markdown
[simple-ad](../README.md) / [Exports](../modules.md) / default
# Class: default
Creates a new LDAP client
## Table of contents
### Constructors
- [constructor](default.md#constructor)
### Properties
- [#password](default.md##password)
- [client](default.md#client)
- [clientOptions](default.md#clientoptions)
- [tlsOptions](default.md#tlsoptions)
- [url](default.md#url)
- [username](default.md#username)
### Methods
- [addGroupMember](default.md#addgroupmember)
- [bind](default.md#bind)
- [deleteGroupMember](default.md#deletegroupmember)
- [findGroup](default.md#findgroup)
- [findUser](default.md#finduser)
- [isGroupMember](default.md#isgroupmember)
- [modifyGroupMember](default.md#modifygroupmember)
- [search](default.md#search)
- [unbind](default.md#unbind)
## Constructors
### constructor
• **new default**(`options`)
#### Parameters
| Name | Type |
| :------ | :------ |
| `options` | `ActiveDirectoryOptions` |
#### Defined in
[ActiveDirectory.ts:39](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L39)
## Properties
### #password
• `Private` **#password**: `string`
#### Defined in
[ActiveDirectory.ts:35](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L35)
___
### client
• **client**: `any`
#### Defined in
[ActiveDirectory.ts:37](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L37)
___
### clientOptions
• **clientOptions**: `ClientOptions`
#### Defined in
[ActiveDirectory.ts:36](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L36)
___
### tlsOptions
• **tlsOptions**: `Object`
#### Defined in
[ActiveDirectory.ts:33](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L33)
___
### url
• **url**: `string`
#### Defined in
[ActiveDirectory.ts:32](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L32)
___
### username
• **username**: `string`
#### Defined in
[ActiveDirectory.ts:34](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L34)
## Methods
### addGroupMember
▸ **addGroupMember**(`groupDN`, `memberDN`): `Promise`<`void`\>
Delete one group member
#### Parameters
| Name | Type |
| :------ | :------ |
| `groupDN` | `string` |
| `memberDN` | `string` |
#### Returns
`Promise`<`void`\>
#### Defined in
[ActiveDirectory.ts:208](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L208)
___
### bind
▸ **bind**(): `Promise`<`void`\>
Bind to the LDAP Server
#### Returns
`Promise`<`void`\>
#### Defined in
[ActiveDirectory.ts:50](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L50)
___
### deleteGroupMember
▸ **deleteGroupMember**(`groupDN`, `memberDN`): `Promise`<``null`` \| `void`\>
Remove one group member
#### Parameters
| Name | Type |
| :------ | :------ |
| `groupDN` | `string` |
| `memberDN` | `string` |
#### Returns
`Promise`<``null`` \| `void`\>
#### Defined in
[ActiveDirectory.ts:217](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L217)
___
### findGroup
▸ **findGroup**(`groupDN`, `attributes`): `Promise`<`any`\>
Find Group objects
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `groupDN` | `string` | - |
| `attributes` | `string`[] | ['cn', 'dn', 'member'] |
#### Returns
`Promise`<`any`\>
#### Defined in
[ActiveDirectory.ts:131](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L131)
___
### findUser
▸ **findUser**(`userDN`, `attributes`): `Promise`<`any`\>
Find a user objects
#### Parameters
| Name | Type | Description |
| :------ | :------ | :------ |
| `userDN` | `string` | - |
| `attributes` | `string`[] | ['cn', 'dn', 'memberOf'] |
#### Returns
`Promise`<`any`\>
#### Defined in
[ActiveDirectory.ts:231](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L231)
___
### isGroupMember
▸ **isGroupMember**(`groupDN`, `memberDN`): `Promise`<`boolean`\>
Check if entry is member in group
#### Parameters
| Name | Type |
| :------ | :------ |
| `groupDN` | `string` |
| `memberDN` | `string` |
#### Returns
`Promise`<`boolean`\>
#### Defined in
[ActiveDirectory.ts:158](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L158)
___
### modifyGroupMember
▸ **modifyGroupMember**(`groupDN`, `members`, `operation`): `Promise`<`void`\>
Add or delete group members
#### Parameters
| Name | Type |
| :------ | :------ |
| `groupDN` | `string` |
| `members` | `string` \| `string`[] |
| `operation` | `ModifyOperation` |
#### Returns
`Promise`<`void`\>
#### Defined in
[ActiveDirectory.ts:174](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L174)
___
### search
▸ **search**(`dn`, `options`): `Promise`<`any`[]\>
Perform a LDAP search: http://ldapjs.org/client.html#search
#### Parameters
| Name | Type |
| :------ | :------ |
| `dn` | `string` |
| `options` | `object` |
#### Returns
`Promise`<`any`[]\>
#### Defined in
[ActiveDirectory.ts:83](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L83)
___
### unbind
▸ **unbind**(): `Promise`<`void`\>
Unbind the connection
#### Returns
`Promise`<`void`\>
#### Defined in
[ActiveDirectory.ts:69](https://github.com/Miramac/simple-ad/blob/227f9e7/lib/ActiveDirectory.ts#L69)