Configure the Node.js application
The Node.js application ships with the Domino AppDev pack. You will need the following files from the AppDev Pack kit:
domino-cfgtest-1.0.8.tgz
domino-domino-db-1.6.0.tgz
domino-node-iam-client-1.5.0.tgz
Install the Node.js application
To install the Node.js config test application perform the following steps:
- create a new empty directory
- extract the
domino-cfgtest-1.0.8.tgz
into the new directory.
C:\>mkdir cfgtest
C:\>cd cfgtest
C:\cfgtest>tar xvf c:\temp\domino-cfgtest-1.0.8.tgz
x package/package.json
x package/auth.js
x package/config.example.yml
x package/config.js
x package/iam.js
x package/index.js
x package/readfile.js
x package/README.md
x package/views/index.pug
The application source files will now be in the subdirectory called package
. This is the
directory where the application stores source files, configuration files and dependencies.
C:\cfgtest>cd package
Execute the following npm install
command to install the required modules that ship with
the AppDev Pack:
C:\cfgtest\package>npm install c:\temp\domino-domino-db-1.6.0.tgz c:\temp\domino-node-iam-client-1.5.0.tgz
...
added 173 packages from 92 contributors and audited 230 packages in 21.817s
Execute the npm install
command again to install additional required modules from
the Node global package registry:
C:\cfgtest\package>npm install
...
added 286 packages from 302 contributors and audited 781 packages in 32.138s
Use this command to copy the sample application configuration file to the expected file name.
C:\cfgtest\package>copy config.example.yml config.yml
1 file(s) copied.
We edit config.yml
later in the setup guide after completing additional configuration steps.
Configure the Domino user for the Node.js application
The steps in this section are similar to those described for configuring user IDs in the Proton Test Utility and the IAM functional ID sections of the setup guide.
The examples in these steps assume the following:
- The Domino user name:
Sample App/Jumbo Cloud Services
- The Domino short name:
sampleapp
- The user's certificate file:
c:\certs\sampleapp.crt
- The user's private key file in it's unencrypted form:
c:\certs\sampleapp-open.key
- The user's certificate is signed by the Internal CA.
Configure the application in IAM Admin
Access the IAM Admin endpoint, https://auth.jumbocloudservices.com:8443
, to create the application
configuration.
To create the application configuration provide the following data under the Basic Information tab:
- Application name - a unique name in IAM which identifies the application in IAM Admin.
- Application description - free-form text which describes the application in IAM Admin.
- Application homepage URL - the
https:
URL where the application is accessible by end users. - Application callback URL - the
https:
URL where the IAM service redirects the user after they have authenticated with IAM. The application developer provides this information. The configuration test application uses the/auth
path. - Proton accesses - the config test has code to use domino-db and Proton, therefore we need to provide the following:
- Enable Domino Database Access - this is the grant that IAM requests from the user which gives authorization to the application to make domino-db calls on behalf of the user.
- Functional ID - this is the application's Domino user ID in LDAP format. This Domino user must have the specific ACL role in
the database to allow it to make
Act-as-User
operations on the database. More on this when we configure the Domino database
The IAM configuration generates the following data:
- Application id
- Application secret
Under the application's Scopes tab add Calendar Read Access. This step requests that the user authorize this additional grant to the application.
Configure the server certificate
In this guide, we secure the configuration test endpoint with a Let's Encrypt certificate. Instructions for obtaining the certificate are outside the scope of this document, but we use this directory to store all the files:
Directory of c:\letsencrypt-certs\config-test.jumbocloudservices.com
12/11/2019 09:09 AM 1,648 chain.crt
12/11/2019 09:09 AM 2,309 config-test.jumbocloudservices.com.crt
12/11/2019 09:09 AM 1,643 config-test.jumbocloudservices.com.csr
12/11/2019 09:09 AM 3,243 config-test.jumbocloudservices.com.key
12/11/2019 09:09 AM 3,957 fullchain.crt
12/11/2019 09:09 AM 2,923 getssl.cfg