Setup#
Follow below steps to set up and configure the DevOps Dashboard:
Enable OAuth authentication for the RESTCONF API
Configure the admin service to accept OAuth access tokens for RESTCONF API access.Enable the DevOps dashboard feature
Enable the DevOps Dashboard in the admin service settings.Verify the configuration
Ensure that the OAuth authentication and DevOps dashboard features are correctly enabled.Access the dashboard
Log in to the DevOps Dashboard using the admin UI login page.
Prerequisites#
Before you begin, ensure you have:
- Admin access to the Curity Identity Server admin UI
- An OAuth profile configured
- At least one authenticator configured in your OAuth profile
- The admin service running (typically on
https://localhost:6749)
This guide uses the admin UI for setup, which is the recommended approach. The UI automatically handles the configuration details and creates the required OAuth client. XML configuration examples are provided in the Configuration Reference section for advanced users.
Step 1: Enable OAuth Authentication for RESTCONF API#
-
Navigate to System → Admin Service in the admin UI
-
Scroll down to the RESTCONF API section (below the main toggles)
-
You’ll see two authentication options:
- Basic Authentication (enabled by default) - allows RESTCONF API access using basic credentials
- OAuth (disabled by default) - allows RESTCONF API access using OAuth access tokens

fig 1: authentication options -
Toggle OAuth to enable it (the toggle will turn green)
-
Two configuration fields will appear:
- Token Service Profile* (required) - Select the OAuth profile to accept tokens from when accessing the Dashboard
- Client - Select the OAuth clients to use for authenticating users to the RESTCONF API

Both Basic Authentication and OAuth can be enabled simultaneously. The Token Service Profile determines which OAuth profile validates tokens, while the Client field specifies which OAuth clients are allowed to access the RESTCONF API.
Step 2: Enable the DevOps Dashboard#
- On the same System → Admin Service page, scroll to the top
- You’ll see three main toggles at the top:
- Web UI - Enable the admin Web UI
- RESTCONF API - Enable the RESTCONF API
- DevOps Dashboard - Enable the DevOps Dashboard UI
- Toggle DevOps Dashboard to enable it (currently disabled/gray)

- The “Enable DevOps Dashboard” dialog will appear with:
- “An OAuth client named
devops_dashboard_restconf_clientwill be created in the selected OAuth profileoauth-dev” - User Authentication* (required) - Select the authenticators to use for authenticating the dashboard client
- “An OAuth client named
- Click Select Values and choose one or more authenticators from your OAuth profile
- Click Submit to enable the dashboard
- A “Deploy Changes” dialog will automatically appear:
- Message: “This will deploy your changes to your environment”
- Comment field - pre-filled with a description (e.g., “Enabled the restconf and devops dashboard”)
- You can edit the comment or keep the default
- Click OK to commit (deploy) the changes
- The system will automatically:
- Create the OAuth client
devops_dashboard_restconf_clientwith all required settings - Configure redirect URIs, scopes, and audiences
- Set up PKCE and other security requirements
- Apply all changes to the running environment
- Create the OAuth client
- After deployment, verify that the DevOps Dashboard toggle at the top is now green (enabled)
The Curity Identity Server automatically prompts you to deploy (commit) changes when you enable the DevOps Dashboard. The changes are applied immediately after you click OK in the Deploy Changes dialog.
Step 3: Verify the Configuration#
After enabling, verify the configuration in the admin UI:
In Admin Service Settings:
- Navigate to System → Admin Service
- Confirm RESTCONF OAuth is enabled and shows your selected OAuth profile
- Confirm DevOps Dashboard is enabled and shows the configured client
Check OAuth Client:
- Navigate to Profiles → [Your OAuth Profile] → Clients
- Find the auto-created client (e.g.,
devops_dashboard_restconf_client) - Verify it has the following settings:
- Client Authentication: Public (no authentication)
- Redirect URI:
https://localhost:6749/admin/dashboard/assisted.html - Scopes:
openid,urn:se:curity:scopes:admin:api - PKCE: Required
- Allowed Origins:
https://localhost:6749
Check CORS Settings:
- Navigate to System → Environments → [Your Environment] → Services
- Under Zones → Default Zone
- Verify Allowed Origins for CORS includes
https://localhost:6749
The admin UI automatically configures all required settings when you enable the DevOps Dashboard. Manual verification ensures everything is set up correctly.
Step 4: Access the Dashboard#
Now you’re ready to access the DevOps Dashboard:
- Log out from the admin UI (if currently logged in)
- Navigate to the admin login page:
https://localhost:6749/admin/login - You should see a DevOps Dashboard button on the login page
- Click the DevOps Dashboard button
- Authenticate using your configured authenticator
- You will be redirected to the DevOps Dashboard interface
If the DevOps Dashboard button does not appear on the login page, verify that:
- The DevOps Dashboard toggle is enabled (navigate to System → Admin Service)
- The RESTCONF API toggle is enabled on the same page
- OAuth toggle is enabled in the RESTCONF API section (scroll down below the main toggles)
Once enabled, the DevOps Dashboard can be accessed in two ways:
- From the admin login page - Click the DevOps Dashboard button

- Direct URL - Navigate to
https://localhost:6749/admin/dashboard
If you change the base URL or listening port of the admin service, the dashboard URL will automatically update. The correct URL is always shown on the admin UI login page.
Understanding the Configuration#
This section explains the technical requirements and configuration details for the DevOps Dashboard. Understanding these details helps with troubleshooting and custom configurations.
An example configuration for enabling the DevOps Dashboard can be seen below:
<admin-service>
<http>
<ssl-server-keystore>server-key-1</ssl-server-keystore>
<restconf>
<oauth xmlns="https://curity.se/ns/conf/profile/oauth">
<oauth-profile>my-good-oauth-profile</oauth-profile>
<client>devops_dashboard_restconf_client</client>
</oauth>
</restconf>
<devops-dashboard xmlns="https://curity.se/ns/conf/profile/oauth">
<client>devops_dashboard_restconf_client</client>
</devops-dashboard>
</http>
</admin-service>
OAuth Client Requirements#
The DevOps Dashboard requires a specifically configured OAuth client. When you use the admin UI to enable the dashboard, this client is automatically created with all the correct settings. The requirements are:
- Client Type: Must be a public client (no authentication required)
- Redirect URI: Must include
$ADMIN_BASE_URL/admin/dashboard/assisted.html - PKCE: Must require proof key for code exchange
- Scopes: Must include
urn:se:curity:scopes:admin:apiandopenid - Audience: Must include the client’s ID and
urn:se:curity:audiences:admin:api - Post-Logout Redirect URIs: Must include
$ADMIN_BASE_URL/admin/dashboard/assisted.html - Capabilities: Only
codeflow should be enabled - Refresh Tokens: Should be disabled (
refresh-token-ttlset todisabled) - Allowed Origins: Must include
$ADMIN_BASE_URL
<client>
<id>devops_dashboard_restconf_client</id>
<client-name>DevOps Dashboard Client</client-name>
<description>The OAuth client that is used to login to the DevOps dashboard.</description>
<no-authentication>true</no-authentication>
<redirect-uris>https://localhost:6749/admin/dashboard/assisted.html</redirect-uris>
<proof-key>
<require-proof-key>true</require-proof-key>
</proof-key>
<refresh-token-ttl>disabled</refresh-token-ttl>
<audience>urn:se:curity:audiences:admin:api</audience>
<audience>devops_dashboard_restconf_client</audience>
<scope>openid</scope>
<scope>urn:se:curity:scopes:admin:api</scope>
<user-authentication>
<allowed-authenticators>my-good-authenticator</allowed-authenticators>
<allowed-post-logout-redirect-uris>https://localhost:6749/admin/dashboard/assisted.html</allowed-post-logout-redirect-uris>
</user-authentication>
<allowed-origins>https://localhost:6749</allowed-origins>
<capabilities>
<code/>
</capabilities>
</client>
The admin UI automatically configures all these requirements when you enable the DevOps Dashboard. Manual configuration is only needed for advanced use cases or when using XML/CLI configuration.
CORS Configuration#
The DevOps Dashboard client needs to make cross-origin (CORS) requests to the revoke endpoint in the OAuth profile. Therefore, the allowed-origins setting in the environment must include the $ADMIN_BASE_URL.
This is automatically configured when using the admin UI setup wizard.
<config xmlns="http://tail-f.com/ns/config/1.0">
<environments xmlns="https://curity.se/ns/conf/base">
<environment>
<services>
<zones>
<default-zone>
<allowed-origins-for-cors>https://localhost:6749</allowed-origins-for-cors>
</default-zone>
</zones>
</services>
</environment>
</environments>
</config>
Do not use the DevOps Dashboard OAuth client for any other purpose. It is specifically configured for dashboard access only.