Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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
titlePrerequisites

The following prerequisites apply: 

  • Identity Manager is installed, see Install Identity Manager.
  • Smart ID Messaging (Hermod) is installed locally or running as a service, see Install Hermod. See Deploy Smart ID.
  • Server certificates to Identity Manager and Hermod must be available, to set up an https connection. 

Step-by-step instruction

Set up integration in Smart ID Messaging

Expand
titleAdd Identity Manager as client in Smart ID Messaging

Do settings in Smart ID Messaging to connect to Identity Manager over https: 

  1. To set up Identity Manager as a client, add Identity Manager as an API user and select a callback URL, according to Add API user and callback URL in Hermod. Do the following settings:

    1. In callbackUrl, enter the Hermod callback endpoint of Identity Manager with the https scheme and corresponding https port

    2. If Identity Manager shall share users with another system, for example Smart ID Digital Access component, make sure that they have the same group in the Smart ID Messaging setup.

      Code Block
      titleExample: Set up Identity Manager as client in Smart ID Messaging
      allowedClients:     
           - clientId: idm
             key: 59c2a0a1999d42dbbe7f16ef1072736a031c5f4739c04025a641ae1751849857
             group: acme
             callbackUrl: https://${idmhostname}:${port}/prime_explorer/ws/hermod
             callbackBasicAuth: admin:admin


  2. In publicUrl: enter the Smart ID Messaging service endpoint, with the https scheme and corresponding https port:

    Code Block
    titleExample: publicUrl
    https://hermod-server-url:28443/hermod/rest/ms


Set up integration in Identity Manager

Expand
titleLog in to Identity Manager Admin
  1. Log in to Identity Manager Admin.


Expand
titleAdd Messaging Server in Identity Manager Admin

To set up the connection to Smart ID Messaging in Identity Manager:

  1. In Identity Manager Designer, go to Home > Messaging Server.

  2. To add a new messaging server:

    1. Click +New. Enter a Name and a Description.

    2. Click Save+Edit. 
      The Messaging Server panel is shown.

    3. In URL, enter the URL of the messaging server ending with command. The example assumes it is deployed as the web app Hermod

      1. 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
        titleExample: URL to Hermod web app
        https://<my-hermod-server>:<port>/hermod/rest/command


    4. In Authentication token, enter base64(clientId:key) with the values for clientId and key that were used in the new client. 

      Code Block
      titleExample: Authentication token
      cHJpbWUxOjA3OWI2YTY0ZDc1YjRlOTU4NWJkMGMyNGYzNmE3ZGViYTBhZDAzNDk4ZWNmNGQ2OWI1NzY2ZjI0ZmEwMmUwNDU=


    5. 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. 
    6. 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.
  3. To edit an existing identity template, double-click on its name.

Set up HTTPS connection between Identity Manager and Smart ID Messaging

Expand
titleHTTPS 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: 

  1. Set up HTTPS ports in the file server.xml in the respective Tomcat installation. 
  2. Make sure that the following URLs have the HTTPS scheme and ports for HTTPS, as described above:
    1. In Smart ID Messaging:
      1. callbackUrl: Identity Manager callback base URL for Smart ID Messaging.
      2. publicUrl: Smart ID Messaging MS endpoint
    2. In Identity Manager: 
      1. URL: Smart ID Messaging command URL for Identity Manager.
  3. Configure cacerts with the new CA certificate:
    1. Copy the file jre\lib\security\cacerts of the JVM and store it somewhere, for example in C:\the\modified\cacerts
    2. Import the new CA certificate in the new cacerts file. 
    3. Set the cacerts as JVM arguments of each Tomcat, for example, by setting the CATALINA_OPTS environment variable:

      Code Block
      titleExample: JVM arguments in CATALINA_OPTS
      -Djavax.net.ssl.trustStore="C:\the\modified\cacerts" -Djavax.net.ssl.trustStorePassword="changeit"



This article is valid for Smart ID 20.11 and later.

Related information