Installing the Nodinite LDAP Web API
This guide teaches how to install the Nodinite LDAP Web API.
The following two hosting options exist:
Before you begin
Make sure you comply with the prerequisites.
IIS
Use the steps documented next to install the Nodinite LDAP Web API on Windows Server with IIS.
Step 1: Unzip package
The Nodinite LDAP Web API has no installer (MSI). Unzip the package to the target folder, for example, C:\Program Files\Nodinite\LDAP Web API\
:
Unblock the files, the PowerShell example below (replace folder as required):
Get-ChildItem -Path 'C:\Program Files\Nodinite\LDAP Web API\' -Recurse | Unblock-File
Step 2: Create IIS Application Pool
Use the Internet Information Server (IIS) Manager.
inetmgr.msc
Name the App Pool, for example,
Nodinite LDAP Web API
Make sure to select
No Managed Code
The App Pool must be configured with a named account, and this account must have read/write rights to the folder with the binaries. Optionally, the named account is added to the IIS_IUSRS group, and the file access rights are set on this group instead.
Start a cmd-prompt as this user, this process creates a profile that is required by the new password protection scheme.
Step 3: Create IIS Virtual Directory
Name the Virtual Directory and set the Physical path to the folder where you extracted the ZIP package in step 1:
Step 4: Configure Connections
Before you can use the Nodinite LDAP Web API, you must perform the initial Configuration.
Step 5: Perform a basic test
You can now test the Nodinite LDAP Web API. There is a plethora of methods in the Samples folder.
- Navigate to
http://localhost/LDAPAdapter/swagger/
(replace LDAPAdapter according to the name you set in step 3b) or even better if you use HTTPS,https://REPLACEME/swagger/
(review the 'How to perform hardening on your Nodinite LDAP Web API' user guide)
- Set the
connectionId
. This Id is set in the Configuration, Step 4 - Execute statement
NOTE Make sure to set the content type according to your statement to either:
- JSON - application/json
- XML - text/xml, application/xml
{
"RequestId": "b7a211d7-20f3-44bc-b078-7f1b6e1c047f",
"Batches": [
{
"continueOnError": false,
"guid": "2b25b9e6-4af2-4094-9ae7-e1e4c99b6c8d",
"AD": {
"Operations": {
"GetDomainControllers": {}
}
},
}
],
}
<ns0:LDAP xmlns:ns0="http://integrationsoftware.se/BizTalk/Adapters/LDAP/Request/1.0">
<Batches guid="2B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8D" returnResponseMessageOnExceptions ="true">
<Batch guid="3B25B9E6-4AF2-4094-9AE7-E1E4C99B6C8E">
<AD>
<Operations>
<GetDomainControllers/>
</Operations>
</AD>
</Batch>
</Batches>
</ns0:LDAP>
Sample statement that is easy to use for testing connectivity with Active Directory. This example usually does not require admin rights and uses the default port (389).
Azure App Services
Use the steps documented next to install the Nodinite LDAP Web API in your Azure subscription.
Important
You must have a connection with the Domain Controllers. A private endpoint is a common option to achieve this.
Zip deploy for Azure WebApps:
- Go to your Web App in the Azure portal.
- Scroll down to the Development Tools and click Advanced Tools
- Click GO ----->
- At the top nav bar click on Tools
- Click Zip Push Deploy and drag and drop the Zip folder.
Note
You might want to perform changes to the appSettings.json file, please review the AppSettings section.
- Set permissions (RBAC). The Nodinite LDAP Web API App Service instance requires some permissions to access the app configuration and possibly the Key Vault.
- App Configuration Reader on the App Service to access the AppSettings
- App Service requires the Azure Key Vault Administrator
Other deployment options are available here
- To test, click on the Default Domain link and add
/Swagger
, you should now be able to browse.
- Next, configure the AppSettings
AppSettings
The settings for the Nodinite LDAP Web API are stored in the App Configuration container.
- Create a new App Configuration and name it, in the example, we are using the name
devsettings
. Change theAppConfigEndpoint
entry accordingly either before you upload the ZIP file, or change it directly in the Azure portal.
{
"https_port": 443,
"ProductKey": {
"CustomerName": "",
"Key": ""
},
"ConnectionStrings": {
"appConfiguration": ""
},
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"AppConfigEndpoint": "https://devsettings.azconfig.io",
"AllowedHosts": "*"
}
- Since you can have multiple connection configurations, you must sequentially use an index to reference the proper entry. The first entry has the index zero (0).
You must create the following settings for each connection. The example below is for the first entry. To protect the password, please store it in Azure Key Vault, as detailed here.
LdapSettings:Connections:0:AuthenticationType
LdapSettings:Connections:0:DSAServer
LdapSettings:Connections:0:DSAServerPort
LdapSettings:Connections:0:Id
LdapSettings:Connections:0:KeyVaultPassword
LdapSettings:Connections:0:UserName
LdapSettings:RunningInAzure
ProductKey:CustomerName
ProductKey:Key
refreshAll
Review the Configuration page for details about the values to use.
- The
refreshAll
is the sentinel key to refresh the configuration.Note
After updating any of the values, you must update the value for
refreshAll
. You can have an initial value of1
, and the step to2
and so on after every change.
Proper AppSettings configuration example with the Password protected by the Key Vault.
KeyVault
To protect the password, please create the LdapSettings:Connections:0:KeyVaultPassword
as a reference to your Key Vault.
Important
Only the value for the password needs to be in the Key Vault!
Support
Contact our Support for additional guidance if you fail to resolve the installation problem.
Tip
Additional information to aid the troubleshooting may exist in the Windows Event Logs.
Frequently asked
Additional solutions to common problems and the FAQ for the Nodinite LDAP Web API exist in the Troubleshooting user guide.
Next step
Related
Table of content