jsumners / node-activedirectory

ActiveDirectory is an Node.js ldapjs client for authN (authentication) and authZ (authorization) for Microsoft Active Directory with range retrieval support for large Active Directory installations. Originally forked from gheeres/node-activedirectory.
MIT License
52 stars 43 forks source link

Incompatibility Error with activedirectory2 Library: [object Object] is not an Option Object #102

Open shantharamshenoy opened 9 months ago

shantharamshenoy commented 9 months ago

Issue Description: I encountered an error while attempting to use the activedirectory2 package for authentication against an Active Directory server. The error message received is [object Object] is not an Option Object. This issue seems to stem from an incompatibility or misunderstanding between the provided options and the expected format by the activedirectory2 library.

Steps to Reproduce:

Install and configure activedirectory2 package for authentication against an Active Directory server. Attempt to authenticate a user using the provided options. Encounter the [object Object] is not an Option Object error. Expected Behavior: The activedirectory2 library should accept the provided options and authenticate the user against the Active Directory server without encountering any errors.

Actual Behavior: The library throws an error [object Object] is not an Option Object, indicating an issue with the options provided.

Additional Information:

Provided options object: { "url": "ldap:url", "baseDN": "baseDN config", "username": "admin_user", "password": "admin_password", "usernamePrefix": "", "usernamePostfix": "@abc.com", "logging": { "name": "ActiveDirectory", "streams": [ { "level": "error", "stream": { ... } } ] } } Provided defaultOptions object:

{ "url": "", "baseDN": "", "bindDN": "domain\admin_user", "bindCredentials": "admin_password", ... }

jsumners commented 9 months ago

Please provide a minimal reproducible example. Doing so will help us diagnose your issue. It should be the bare minimum code needed to trigger the issue, and easily runnable without any changes or extra code.

You may use a GitHub repository to host the code if it is too much to fit in a code block (or two).