Authentication with Okta

IMPORTANT!  
Starting with release 22.1, the FintechOS Platform uses the FintechOS Identity Provider as the default authentication layer for the FintechOS applications and services. You can configure the FintechOS Identity Provider to act as an identity broker, allowing users to log in to FintechOS applications and services using their existing Okta credentials. For more information, see Using Okta as External Identity Provider.
This authentication method is provided only for backward compatibility.

Okta is a standards-compliant OAuth 2.0 authorization server and a certified OpenID Connect provider.

FintechOS Platform built-in integration with Okta enables users to log in to the Digital Experience Portal using the Okta single-sign on (SSO).

How to Set up the Okta Authentication

To set up the Okta authentication for your Experience Portal, follow these steps:

Step 1. Create and configure the Okta app

  1. Using an Okta admin account, log into Okta and create an Okta application (Application tab > Web > OpenID Connect).
  2. From the Applications tab > General > Login, set up the FintechOS Platform callbacks by configuring both the login and the logout redirect URLs, as follows:
  3. login redirect uri {$portalRoot}/Account/LogonCallback
    logout redirect uri {$portalRoot}/Unauthorized
  4. From the API tab > Authorization Servers, create an authorization server for the Okta application.
  5. Expose the Okta roles in custom claims consumable by FintechOS Platform. To do so, synchronize the user groups created in Okta with FintechOS Platform by creating a custom claim named ftos-role mapped to the group metadata in Okta. For more information on how to create a custom claim in the Okta app, see Okta Documentation.

When a user is authorized with Okta, a corresponding system user will be created in FintechOS Platform . In the web.config file you can configure default roles for this user, organization, business unit and user type.

Step 2. Configure the Experience Portal

Prerequisite:

Make sure that you know the following values:

  • Client ID (from the Okta app, General tab)
  • Client Secret (from the Okta app, General tab)
  • Discovery Endpoint (from the Okta app, API section > Authorization Servers > Metadata URL)

Configuration using Vault secrets:

Set Okta authentication:

Key Path Key Name Key Value
kv/<environment>/<application>/app-settings EBSDefaultAuthentication Okta

 

Replace the keys' value with your Okta configuration:

Key Path Key Name Key Value
kv/<environment>/<application>/app-settings openid-client-id {ClientId}
kv/<environment>/<application>/app-settings openid-client-secret {ClientSecret}
kv/<environment>/<application>/app-settings openid-callback-url http://${portalRoot}/Account/LogonCallback
kv/<environment>/<application>/app-settings openid-discovery-endpoint https://${oktaApplication}.okta.com/oauth2/${authServerId}/.well-known/oauth-authorization-server

 

User mapping settings:

Key Path Key Name Key Value
kv/<environment>/<application>/app-settings openid-auto-user-roles Guest,Developer,Registered Users
kv/<environment>/<application>/app-settings openid-auto-user- organization ebs
kv/<environment>/<application>/app-settings openid-auto-user-businessunit root
kv/<environment>/<application>/app-settings openid-auto-user-type Back Office
kv/<environment>/<application>/app-settings openid-auto-user-remote-roles-add 0|1
kv/<environment>/<application>/app-settings openid-auto-user-remote-roles-sync 0|1

 

The table below describes the Okta app configuration keys:

Key Description
${portalRoot} The root URL of the Experience Portal.
${authServerId} The ID of the authorization server associated with the Okta application (default value is default).
${oktaApplication} The ID of the Okta application.
Key Description

 

The table below describes the user mapping configuration keys.

Parameter Value
openid-auto-user-roles The platform role names, separated by colon. These roles will be added automatically when the Okta user is mapped to a platform user.
openid-auto-user-organization The platform organization name. The mapped user will be added in this organization.
openid-auto-user-businessunit The platform business unit name. The mapped user will be added in this business unit.
openid-auto-user-remote-roles-add If set to 1, the roles from the Okta app will be added to the mapped user.
openid-auto-user-remote-roles-sync If value is 1, the roles from Okta and the default roles are always synchronized at login. Any roles manually added to a Okta user are lost.

 

How it Works

The diagram below describes the FintechOS Platform login flow when using Okta authentication.

Group mapping in FintechOS

When a user is authorized with Okta, a corresponding system user is created in FintechOS. In web.config file of the FintechOS instance, default roles for this user, organization, business unit and user type are added.

Create a custom claim named ftos-role mapped to the group metadata in Okta. This configuration is done for the authorization server associated with the Okta application.

How users log in the Portal

When accessing the Digital Experience Portal URL, users will be redirected to the URL of the authorization server associated with the Okta app. The Okta login page appears.

Once they provide Okta account credentials, they will be logged into the Digital Experience Portal.

When new users are created, they will receive an email notification from Okta which contains instructions and Okta credentials.