- ldapjs library upgraded to version 3
includeRaw
has been removed fromclientOptions
. Append;binary
to thesearchAttributes
option if you need the binary data, for example with objectGUID:
new LdapAuth({
searchAttributes: ['dn', 'cn', 'givenName', 'name', 'memberOf', 'sAMAccountName', 'objectGUID;binary'],
});
The resulting user object will then have a property objectGUID;binary
with the base64 encoded value of the objectGUID
LDAP attribute.
This change was made as a consequence of changes in the underlying ldapjs library, see https://github.com/ldapjs/node-ldapjs/releases/tag/v3.0.0 section Known Breaking Changes.
- [pull request #99] Ensure
groupDnProperty
is included inattributes
- [pull request #97] Sanitize group search filters
- Update
ldapjs
to version 2
- [pull request #86] Fix typedef of tlsOptions
- [pull request #83] Allow any @types/node version
- [issue #59, pull request #80] Add starttls
- [issue #69, pull request #71] Defer installation of reconnect event listener
- [issue #74] Remove direct moment.js dependency
- [pull request #68] Rebind admin client after reconnect
- [pull request #49] Re-emit
connectTimeout
- Added TypeScript types
- Switch to Bunyan logger since ldapjs uses Bunyan as well
- Pass all ldapjs client options to it. The available options were taken from the ldapjs TypeScript types.
- [pull request #44] Two more ldapjs options passthrough
- [issues #20, #39, #25, #26, #41] LdapAuth is now inheriting EventEmitter and re-emits ldapjs error events. This should solve crashing because of network issues or such. Other ldapjs events are not emitted.
- [issue #43] Allow empty search base
- [pull request #42] Update ldapjs to 1.0.1 (and use ~ in package.json for it)
- [pull request #36]
groupSearchFilter
can be afunction(user)
returning the actual filter
- [pull request #31] Forward reconnect option to ldapjs
- [pull request #33] Check user provided password is not falsy (fixes #32)
- Falsy values in bind credentials now passed on to ldapjs (fixes #27)
- Update ldapjs to 1.0.0 (fixes #25)
- [issue #20] Sanitize user input
- [issue #19] Added messages to options asserts
- [issue #14] Use bcryptjs instead of the C++ version.
- [passport-ldapauth issue #10] Added support for fetching user groups. If
groupSearchBase
andgroupSearchFilter
are defined, a group search is conducted after the user has succesfully authenticated. The found groups are stored touser._groups
:
new LdapAuth({
url: 'ldaps://ldap.example.com:636',
adminDn: 'cn=LdapAdmin,dc=local',
adminPassword: 'LdapAdminPassword',
searchBase: 'dc=users,dc=local',
searchFilter: '(&(objectClass=person)(sAMAccountName={{username}}))',
searchAttributes: ['dn', 'cn', 'givenName', 'name', 'memberOf', 'sAMAccountName'],
groupSearchBase: 'dc=groups,dc=local',
groupSearchFilter: '(member={{dn}})',
groupSearchAttributes: ['dn', 'cn', 'sAMAccountName'],
});
- [issue #9] Configurable bind parameter. Thanks to @oanuna
- [issue #8] Fix options to actually work as documented
- Added
bindCredentials
option. Now defaulting to same names as ldapjs.
- Added option
includeRaw
for includingentry.raw
to the returned object (relates to ldapjs issue #238)
- [issue #5] Handle missing bcrypt and throw a explanatory exception instead
- [issue #4] Log error properties code, name, and message instead of the object
- [issue #1] Add more ldapjs options
- [passport-ldapauth issue #3] Update to ldapjs 0.7.0 fixes unhandled errors when using anonymous binding
- Try to bind with empty
adminDn
string (undefined/null equals no admin bind)
- [ldapauth issue #13] bcrypt as an optional dependency
- [ldapauth issue #2] support anonymous binding
- [ldapauth issue #3] unbind clients in
close()
- Added option
searchScope
, default tosub
- Renamed to node-ldapauth-fork
- Another readme fix
- Readme updated
- [ldapauth issues #11, #12] update to ldapjs 0.6.3
- [ldapauth issue #10] use global search/replace for {{username}}
- [ldapauth issue #8] enable defining attributes to fetch from LDAP server
(nothing yet)
- [issue #5] update to bcrypt 0.7.5 (0.7.3 fixes potential mem issues)
- Fix a bug where ldapauth
authenticate()
would raise an example on an empty username.
- Update to latest ldapjs (0.5.6) and other deps. Note: This makes ldapauth only work with node >=0.8 (because of internal dep in ldapjs 0.5).
- Update to ldapjs 0.4 (from 0.3). Crossing fingers that this doesn't cause breakage.
- Add
make check
for checking jsstyle. - [issue #1] Update to bcrypt 0.5. This means increasing the base node from 0.4 to 0.6, hence the major version bump.
First working version.