NodeJS Server Input plugin preferences 3

The third HTTP Server Input plugin preferences page provides an authentication mechanism for ActiveDirectory by LDAP.

The LDAP port is 389.

  • Enable authentication: Check to enable authentication for ActiveDirectory via LDAP. Any process that starts with a NodeJS input task will then require the user to authenticate before it can run. Until the user has been successfully authenticated, the Workflow process is never triggered. After a certain number of failed attempts, the NodeJS server will lock out the user for a certain length of time, to discourage denial of service attacks.

  • ActiveDirectory Server: Enter the address of the ActiveDirectory Server.

  • Domain: Enter the domain for authentication.

In the address of the server and in the domain name the following characters should not be used: , + $ @ # < > ' ; | { } ~ [ ] * " :

If you don’t know what your LDAP server and domain names are, you can usually obtain them by opening a CMD window and typing the following:

  • For the domain name: echo %USERDOMAIN%
  • For the LDAP Server name: echo %logonserver%

Testing the server

  • To test the server address and domain, enter a username and password and click the Test server button.

The user name and password aren't part of the plugin preferences. Users will have to provide their credentials themselves and will be presented with an HTML page for that purpose.

Changing the Log in page

You can change the look and feel of the login window if you are familiar with the EJS templating syntax.
Explaining this syntax falls outside the scope of this documentation, but there are plenty of tutorials available online.

The two files that you need are located here: C:\Program Files (x86)\Objectif Lune\ppnode\src\html

Be careful; errors in these files can lead to unpredictable behavior!

Setting the duration of the authentication

When a user has logged in, that user's authentication is valid for the duration of the session.
There is no option in the Workflow Preferences that allows you to set a different behavior for the duration of the authentication. However, you can manually edit the file named: C:\Program Files (x86)\Objectif Lune\ppnode\src\constants\default.js.
Look for the line exports.DEFAULT_SESSION_TTL = 0; and change the value to the number of milliseconds that you want the authentication to last.
Note that editing any other value in this file may result in unpredictable behavior.