Authentication Options for DevOps Dashboard#
The DevOps Dashboard supports multiple authentication methods, enabling organizations to integrate with their existing identity infrastructure and security policies.
This guide assumes you have already completed the basic DevOps Dashboard setup, including enabling OAuth-protected RESTCONF and the DevOps Dashboard itself.
Available Authentication Methods#
There are several ways to authenticate administrators to the DevOps Dashboard:
-
Local Accounts (Default): Uses the
html-formauthenticator with local admin accounts stored in Curity’s account manager. -
SAML Authentication: Integrates with enterprise SAML identity providers for single sign-on (SSO) with corporate credentials.
-
OpenID Connect Authentication: Connects to OIDC providers (Microsoft Entra ID, Okta, Google, etc.) for modern OAuth-based authentication.
-
Multi-Factor Authentication: Requires a second factor (SMS, TOTP, etc.) in addition to primary authentication.
This guide shows you how to configure different authentication methods for the DevOps Dashboard.
How DevOps Dashboard Authentication Works#
Unlike the Admin UI (which has its own federated login configuration in System → Deployment → Admin Service), the DevOps Dashboard authenticates through an OAuth client configuration.
Architecture Note: In Curity Identity Server, authenticators are configured in the authentication profile, while OAuth profiles (token services) reference these authenticators when configuring clients. This separation allows multiple OAuth profiles to share the same authentication methods.
The authentication flow:
- User accesses the DevOps Dashboard
- Dashboard redirects to the OAuth authorization endpoint
- User sees the authenticator(s) configured in the OAuth client’s Allowed Authenticators setting
- After successful authentication, an authorization code is returned
- Access token is exchanged and used for RESTCONF API access
Key Concept: The OAuth client’s User Authentication → Allowed Authenticators setting controls which authentication methods users see when logging into the DevOps Dashboard. These authenticators must exist in the authentication profile.
Configuring Authentication Methods#
Step 1: Create or Configure Your Authenticator#
Authenticators are configured in the authentication profile (not in individual OAuth profiles).
Navigate to Profiles → authentication → Authenticators to view and manage all available authentication methods:

Example: SAML Authenticator#
- In the Admin UI, go to Profiles → authentication → Authenticators
- Click New Authenticator and select SAML
- Configure your SAML Service Provider settings:
- Entity ID (e.g.,
https://your-domain.com/dashboard) - Import Identity Provider metadata
- Configure attribute mapping
- Entity ID (e.g.,
<authenticator>
<id>SAML</id>
<authentication-context-class-reference>urn:virtual:assertion-sig:saml</authentication-context-class-reference>
<description>Virtual SAML (saml2 replaces saml)</description>
<saml2 xmlns="https://curity.se/ns/conf/authenticators/saml2">
<issuer-entity-id>se.curity</issuer-entity-id>
<idp-entity-id>virtual-idp</idp-entity-id>
<idp-url>https://127.0.0.1:1234/saml/idp/sign-assertion</idp-url>
<signature-verification-key>virtual-idp-signer</signature-verification-key>
<wants-response-signed>false</wants-response-signed>
<wants-assertion-signed>true</wants-assertion-signed>
</saml2>
</authenticator>
Example: OIDC Authenticator#
- In the Admin UI, go to Profiles → authentication → Authenticators
- Click New Authenticator and select OpenID Connect
- Configure your OIDC settings:
- Client ID and Client Secret (from your identity provider)
- Discovery URL or manual endpoint configuration
- Requested scopes
<authenticator>
<id>oidc1</id>
<oidc xmlns="https://curity.se/ns/conf/authenticators/oidc">
<configuration-url>https://localhost:7777/.well-known/openid-configuration</configuration-url>
<client-id>virt-client</client-id>
<client-secret>client-secret</client-secret>
<http-client>trustStoreHttpClient</http-client>
</oidc>
</authenticator>
For detailed authenticator configuration, see the Curity Authenticators Guide.
Step 2: Update the OAuth Client Configuration#
Once your authenticator is configured in the authentication profile, update the DevOps Dashboard OAuth client to use it:
- Navigate to Profiles → [your-oauth-profile] → Clients
- Select the DevOps Dashboard client (e.g.,
devops_dashboard_restconf_client) - Scroll down to the User Authentication section
- In the Allowed Authenticators field, select your federated authenticator
- Save or Commit the changes
You can select multiple authenticators to give users a choice of authentication methods. Each authenticator will appear as a separate option on the login screen.

Important: Ensure your authenticator is fully configured and tested before removing html-form from the allowed authenticators list. Misconfiguration could lock administrators out of the dashboard.

Configuring Multi-Factor Authentication#
To require MFA for DevOps Dashboard access, create an MFA action that wraps your primary authenticator:
<authentication-action>
<id>MFA</id>
<multi-factor-condition xmlns="https://curity.se/ns/ext-conf/multi-factor-condition">
<subject-condition>
<subject-pattern-condition>
<subject-pattern>test</subject-pattern>
<second-factor>
<id>TOTP</id>
</second-factor>
<allow-authentication-with-sso-for-second-factor>true</allow-authentication-with-sso-for-second-factor>
</subject-pattern-condition>
</subject-condition>
</multi-factor-condition>
</authentication-action>
Then update the OAuth client’s Allowed Authenticators to use mfa-dashboard-auth.
For more details, see the Conditional Multi-Factor action documentation.
Claims and Attribute Mapping#
Configure claims providers to map user attributes from your authentication provider to the tokens issued for DevOps Dashboard access:
<authentication-subject-claims-provider>
<id>authentication-claims</id>
<claim>
<name>email</name>
<value>${request.subject.email}</value>
</claim>
<claim>
<name>groups</name>
<value>${request.subject.memberOf}</value>
</claim>
</authentication-subject-claims-provider>
The groups claim can be used for access control to restrict which administrators can access specific DevOps Dashboard features.