Configuration Guide

To set up an Onboarding instance, follow these configuration steps.

Quick Start

  1. Configure Redis in appsettings.json

  2. Configure the tenant directory in appsettings.json

  3. Create your tenant folder(s). This can easily be done by using the default tenant as a base

  4. Set up your tenant-specific configuration in config.release.json

    1. TenantEnabled should be true

    2. Set your WebAPIKeyID

    3. Set your Salt

    4. Set your ApiKey

    5. If your instance uses liveness, set BiometricsApiKey, BiometricsAuthorizationEndpoint and PassiveLivenessEndpoint.

    6. If your instance uses identity document OCR, set IdentityApiKey, IdentityAuthorizationEndpoint and DataExtractionEndpoint

    7. Set your Steps as per your business requirements

    8. Configure the rest as per your business requirements

Top Level Appsettings File

The top level appsettings.json file is for setting up global configuration that the service needs to adhere to has a whole. These include:

  • Redis config

  • Global data lifetime

  • Tenant configuration

To set up this file, ensure the following is set:

  1. The "Redis" property is set up to point to your instance of Redis with the correct credentials.

  2. The "TenantsDirectory" property is set up to point to the directory where your tenant configuration instances are located.

Tenant Configuration

A tenant can be configured by creating a new folder inside of the tenant directory location, set in the top level appsettings.json file. The folder name is important, as it corresponds to the tenant's name or ID.

Tenant Folder Name

Your tenant ID (and by extension, your tenant folder name) will depend on whether you're using domains or relative URLs to separate your tenants.

Domain

If your tenants are separated using domains, your tenant ID must follow some specific rules. It should be your domain name, plus port separated by a dash.

For instance, if your tenant is to be accessed using a specific domain like:

"https://sybrin.somesite-onboarding.com"

Then your tenant ID and folder name will be:

sybrin.somesite-onboarding.com-443

Relative URL

If your tenant is to be accessed using a relative URL, you have more freedom over the name of your tenant folder.

It can then be accessed using the /client/<tenantname> relative URL.

For instance, you may create a tenant called "mytenant" by creating a folder with the same name. Assuming our onboarding API is hosted on "https://sybrin.somesite-onboarding.com", we can access this tenant using: "https://sybrin.somesite-onboarding.com/client/mytenant"

Tenant Folder Contents

The following must be present within the tenant folder:

  • Assets/

  • Languages/

  • Privacy/

  • Terms/

  • Translations/

  • config.release.json

Assets

The following assets must be present in the folder:

  • background.png - The background that is loaded by the onboarding UI

  • custom.css - Custom styling applied to the onboarding UI

  • logo.png - The logo that is loaded and presented in the top left corner of the onboarding UI

Languages

For each language that you want to support, a corresponding JSON file must be present in this folder. The file name must correspond to the standard language code. For example, to support US English, a file called "en-us.json" must be present with the following contents:

{
  "Code": "en-us",
  "DisplayName": "English (US)",
  "Default": true,
  "FlowDirection": 0
}

Privacy

The HTML files that you want to display for your privacy policy if you're using embedded mode. A separate file is required for each language that you want to support. The file name must correspond to the standard language code. For instance, to add a privacy policy page in US English, a file called "en-us.html" must be present.

Terms

The HTML files that you want to display for your terms of use if you're using embedded mode. A separate file is required for each language that you want to support. The file name must correspond to the standard language code. For instance, to add a terms of use page in US English, a file called "en-us.html" must be present.

Translations

For each supported language, you may include an XLIFF file that provides translations for the entire onboarding product. en-us.xliff may be used as a baseline.

Tenant Configuration

The config.release.json is used to set your tenant-specific configuration. Please see the Backend API section for details.

Last updated