Info |
---|
This article is valid for Smart ID 20.11 and later. |
This article describes how to set up communication between Smart ID Identity Manager and Smart ID Messaging.
Smart ID Messaging is a messaging platform used within Nexus Smart ID to integrate clients into server side processes, via indirect communication. All clients and servers must be able to reach Smart ID Messaging, but they do not need to be able to reach one another.
For more information on the architecture and interaction between Identity Manager and Smart ID clients, see Hermod architecture.
Prerequisites
Expand |
---|
|
The following prerequisites apply: - Identity Manager is installed, see Deploy Smart ID (for legacy systems, see Install Identity Manager).
- Smart ID Messaging (Hermod) is installed locally or running as a service. See Deploy Smart ID.
- Server certificates to Identity Manager and Hermod must be available, to set up an https connection.
|
...
Expand |
---|
title | Add Messaging Server in Identity Manager Admin |
---|
|
To set up the connection to Smart ID Messaging in Identity Manager: In Identity Manager Admin, go to Home > Messaging Server. To add a new messaging server: Click +New. Enter a Name and a Description. Click Save+Edit. The Messaging Server panel is shown. In URL, enter the URL of the messaging server ending with command . The example assumes it is deployed as the web app Hermod. Set the scheme to HTTPS and the port to the port number used by Hermod for callbacks. See Add API user and callback URL in Hermod Code Block |
---|
title | Example: URL to Hermod web app |
---|
| https://<my-hermod-server>:<port>/hermod/rest/command |
In Authentication token, enter base64(client-id:key) with the values for client-id and key that were used in the new client. Code Block |
---|
title | Example: Authentication token |
---|
| cHJpbWUxOjA3OWI2YTY0ZDc1YjRlOTU4NWJkMGMyNGYzNmE3ZGViYTBhZDAzNDk4ZWNmNGQ2OWI1NzY2ZjI0ZmEwMmUwNDU= |
- In Lifespan, enter the desired lifespan in seconds of a command to Smart ID Messaging.
After this time, the command is removed from history and the provisioning will fail. - In Timeout, enter the desired timeout in seconds of a command to Smart ID Messaging. The timeout must be shorter than the lifespan.
After this time, the command is removed from the message box, but kept for polling until the lifespan is reached.
- To edit an existing identity template, double-click on its name.
|
Expand |
---|
title | Create user for Smart ID Messaging |
---|
|
To create a dedicated user for Smart ID Messaging: - In Identity Manager Admin, go to Home > User Administration.
- Click +New. Enter a Username and a Password.
- Click Save.
Add this user's username and password in the configuration file when adding an API user in the Smart ID Messaging component Hermod, see here: Add API user and callback URL in Hermod. |
...
Expand |
---|
title | HTTPS connection set up |
---|
|
The Smart ID clients Mobile and Desktop clients refuse HTTP connections. Therefore, Smart ID Messaging must be set up to listen on an HTTPS port. It is recommended to also run Identity Manager over HTTPS, even if callbacks from Smart ID Messaging to Identity Manager are also allowed over HTTP. The following instruction assumes that both Smart ID Messaging and Identity Manager run in Tomcat. To set up HTTPS connections for Identity Manager and Smart ID Messaging: - Set up HTTPS ports in the file server.xml in the respective Tomcat installation.
- Make sure that the following URLs have the HTTPS scheme and ports for HTTPS, as described above:
- In Smart ID Messaging:
callback-url : Identity Manager callback base URL for Smart ID Messaging.public-url : Smart ID Messaging MS endpoint
- In Identity Manager:
URL : Smart ID Messaging command URL for Identity Manager.
- Configure cacerts with the new CA certificate:
- Copy the file jre\lib\security\cacerts of the JVM and store it somewhere, for example in C:\the\modified\cacerts.
- Import the new CA certificate in the new cacerts file.
Set the cacerts as JVM arguments of each Tomcat, for example, by setting the CATALINA_OPTS environment variable:
Code Block |
---|
title | Example: JVM arguments in CATALINA_OPTS |
---|
| -Djavax.net.ssl.trustStore="C:\the\modified\cacerts" -Djavax.net.ssl.trustStorePassword="changeit" |
|
Check if HTTPS connection is working and service is available
Expand |
---|
title | Alive check of callback URL for SmartID Messaging |
---|
|
To check if the callback base URL for Smart ID Messaging is set up correctly. and the service is available (for Identity Manager Operator only), use the following URL: Code Block |
---|
https://[host]:[port]/idm-operator/ws/hermod/callback/alive |
Note |
---|
The setup of the connection is described above in section "Set up HTTPS connection between Identity Manager and Smart ID Messaging". |
Response: http status, empty response body |