Okta Setup Guide
CatalyX Blockchain Manager supports Okta as an external Identity Provider. This section walks through the steps required to configure Okta before creating a validator in CAT-BM.
Catalyst Client Setup
Two clients must be created in Okta under Applications → Applications.
UI Client
The UI client is used by the CAT-BM console. When creating it, select the following options:
Sign-in method: OIDC - OpenID Connect
Application type: Single-Page Application
Grant type: Authorization Code and Refresh Token
Once created, navigate to LOGIN → Sign-in redirect URIs and add the following URLs:
<UI url><UI url>/domains<UI url>/participants
Add the same URLs to the Sign-out redirect URIs.
API Client
This client is used by the CAT-BM API and other backend components. When creating it, select:
Sign-in method: OIDC - OpenID Connect
Application type: Web Application
Grant type: Client Credentials, Authorization Code, and Refresh Token
UI
OIDC - OpenID Connect
Single-Page Application
Authorization Code; Refresh Token
No
API
OIDC - OpenID Connect
Web Application
Client Credentials; Authorization Code; Refresh Token
Yes
User Access Setup
CAT-BM enforces role-based access using two roles: canton_viewer (read-only) and canton_writer (full operational access). These roles must be added to the Okta token.
Step 1 — Add the roles attribute to the user profile:
Go to Profile Editor → User (default):
Select Add Attribute and choose String Array
Set Display name to
rolesSet Variable name to
roles
Step 2 — Add the roles claim to the token:
Go to Security → API → [your auth server] → Claims and select Add Claim:
Name:
roles(must be this exact name)Include in token type: Access Token
Value:
user.roles(orappuser.rolesif added to the application user profile)
Repeat with Include in token type set to ID Token.
You can verify the token in Security → API → Token Preview. The token should contain a roles claim with canton_viewer and canton_writer values in both the id_token and token.
Helm Chart Configuration
GitOps transition note: CatalyX Blockchain Manager is moving toward a GitOps-driven deployment model using Helm charts managed via ArgoCD. The Helm chart field references below reflect the current configuration approach. These may change as the GitOps model matures — confirm with the engineering team for the latest guidance on your deployment.
Fill in the following fields in your Helm chart values:
auth.url — The Issuer URI from Security → API → [your auth server] (the Issuer URI field on the default server)
auth.client.idApiOperator — Client ID of the API client, found under Applications → Applications
auth.client.idUI — Client ID of the UI client, found under Applications → Applications
auth.client.secret — Client Secret of the API client, found on the client's page
Validator Client Setup
Before creating a validator in CAT-BM, three additional clients must be created in Okta.
CNS and Wallet Clients
Create two separate clients with the following options:
Sign-in method: OIDC - OpenID Connect
Application type: Single-Page Application
Grant type: Authorization Code and Refresh Token
After creating the validator, retrieve the Wallet URL from the Wallet page and add it to LOGIN → Sign-in redirect URIs on the Wallet client.
Ledger Client
Sign-in method: API Services
Wallet
OIDC - OpenID Connect
Single-Page Application
Authorization Code; Refresh Token
No
CNS
OIDC - OpenID Connect
Single-Page Application
Authorization Code; Refresh Token
No
Ledger
API Services
—
—
Yes
Assign at least one user to both the Wallet and CNS clients — this will be the main wallet user when creating the validator.
Obtaining Fields for Validator Creation
When creating a validator in CAT-BM with Okta as the IdP, the following fields are required:
CNS Client ID
Applications → Applications → CNS client → Client ID
Wallet Client ID
Applications → Applications → Wallet client → Client ID
Ledger API Client ID
Applications → Applications → Ledger client → Client ID
Ledger API Client Secret
Applications → Applications → Ledger client → Client Secrets tab
Ledger API User
Same as the Ledger API Client ID by default in Okta
Wallet User
Username of the main wallet user account
Audience
Security → API → [your auth server] → Audience field
Last updated
Was this helpful?