Configuration Guide
To set up an Onboarding instance, follow these configuration steps.
Quick Start
Configure Redis in appsettings.json
Configure the tenant directory in appsettings.json
Create your tenant folder(s). This can easily be done by using the default tenant as a base
Set up your tenant-specific configuration in config.release.json
TenantEnabled should be true
Set your WebAPIKeyID
Set your Salt
Set your ApiKey
If your instance uses liveness, set BiometricsApiKey, BiometricsAuthorizationEndpoint and PassiveLivenessEndpoint.
If your instance uses identity document OCR, set IdentityApiKey, IdentityAuthorizationEndpoint and DataExtractionEndpoint
Set your Steps as per your business requirements
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:
The "Redis" property is set up to point to your instance of Redis with the correct credentials.
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:
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