environments/environment
Defines an environment with all services and meta information it needs
/environments/environment
string
(default: se.curity)
The name of the organization running the services in an environment (Entity ID)
union
(optional)
The type of deployment this system is executing as.
uri
The external base URL used to contact this machine
(default: )
The root path under the base-url from which static resources should be served
(multi-value) (optional)
Reports the template areas that are available as they are found on the file system of the admin node
environments/environment/localization
The localization settings for this environment
(default: en)
Default locale if no locale is specified in request
environments/environment/white-listed-proxies
A list of proxies that are allowed to be in the middle of the requestor and this server. If this list is empty, the X-Forwarded-For header will be ignored. If this list is non-empty the X-Forwarded-For header will be used as the remote-ip of the client if the proxies match this list.
An IPv4/IPv6 address, hostname or IPv4/IPv6 cidr of the proxy to whitelist.
environments/environment/cluster
Settings of a configuration cluster
/environments/environment/cluster
(mandatory)
The keystore for cluster communication. This should only be set with keystores generated by Curity
host
The host or IP of the cluster admin node that the run-time nodes will connect to
port-number
(default: 6789)
The port of the cluster admin node
(default: 6790)
The port of the distributed service
(default: 0.0.0.0)
The host or IP that the admin node should listen on (e.g., 0.0.0.0 to listen on all network interfaces)
environments/environment/admin-service
Enable the admin service
/environments/environment/admin-service
leafref /processing/credential-managers/credential-manager/id
leafref
/processing/credential-managers/credential-manager/id
A credential manager that verifies accounts against an external user repository (e.g., LDAP)
non-empty-string
ID of the tenant associated with the admin-service credential manager. When not set the default tenant is used
leafref /processing/authorization-managers/authorization-manager/id
/processing/authorization-managers/authorization-manager/id
An authorization manager that authorizes Admin service requests against backend
environments/environment/admin-service/http
Enables the HTTP admin service interface (Web UI and/or RESTCONF)
/environments/environment/admin-service/http
ip-address
IP used for listening host
(default: 6749)
The port the admin endpoint listens on
leafref /facilities/crypto/ssl/server-keystore/id
/facilities/crypto/ssl/server-keystore/id
A pointer to the key used for the SSL server. When no key is configured, the admin will be served on a http connection instead of an https.
The external base URL used to contact the admin web-ui and restconf
boolean
(default: false)
Enables support for the HTTP/2 protocol. HTTP/2 is usually faster than HTTP/1.x, but may not be as widely supported by clients. HTTP/1.x is always enabled.
environments/environment/admin-service/http/web-ui
Enable the admin Web UI
environments/environment/admin-service/http/web-ui/appearance
A CSS hex (format #aabbcc) color for the UI environment badge. Default colors are used when not set.
environments/environment/admin-service/http/web-ui/ui-modes
This section contains settings for the different modes in the Web UI
environments/environment/admin-service/http/web-ui/ui-modes/normal-mode
Customizations for the normal mode UI
/environments/environment/admin-service/http/web-ui/ui-modes/normal-mode
leafref /profiles/profile/id
/profiles/profile/id
The authentication profile to use in Normal Mode
The token profile to use in Normal Mode
The user management profile to use in Normal Mode
The application profile to use in Normal Mode
leafref /environments/environment/services/service-role/id
/environments/environment/services/service-role/id
The service role to use in Normal Mode for HTTP runtime settings
leafref /processing/account-managers/account-manager/id
/processing/account-managers/account-manager/id
The account manager to use in Normal Mode
The credential manager to use in Normal Mode
environments/environment/admin-service/http/web-ui/admin-federated-login
Configure the admin UI to enable logging in with a federated account. Use an internal OpenID Connect client or an external OpenID Connect provider
/environments/environment/admin-service/http/web-ui/admin-federated-login
empty
Disable local account login
A logo of the client, that can shown in user interface screens.
Name of OpenID Connect provider
environments/environment/admin-service/http/web-ui/admin-federated-login/external-openid-provider
Use external OpenID Connect provider
/environments/environment/admin-service/http/web-ui/admin-federated-login/external-openid-provider
The client id to use when obtaining an OAuth 2.0 access token
The client secret to use when obtaining an OAuth 2.0 access token
leafref /base:facilities/base:http/base:client/base:id
/base:facilities/base:http/base:client/base:id
A reference to the Http Client
The complete url to the authorization endpoint of the OpenID Connect Provider
The complete url to the token endpoint of the OpenID Connect Provider
The complete url to the userinfo endpoint of the OpenID Connect Provider
scope
Additional scopes (beyond ‘openid’) that should be requested
Additional claims that should be requested
environments/environment/admin-service/http/web-ui/admin-federated-login/using-oauth-profile
Enable login using Curity OpenID Connect client
/environments/environment/admin-service/http/web-ui/admin-federated-login/using-oauth-profile
leafref /base:profiles/base:profile/base:id
/base:profiles/base:profile/base:id
The OAuth Profile to which client belongs
leafref /base:profiles/base:profile[base:id=current()/../as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
/base:profiles/base:profile[base:id=current()/../as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
OpenID Connect client
environments/environment/admin-service/http/restconf
Enable the RESTCONF API
(default: true)
Allows users to access the RESTCONF API using basic credentials
environments/environment/admin-service/http/restconf/oauth
Allow users to access the RESTCONF API using OAuth access tokens
/environments/environment/admin-service/http/restconf/oauth
The OAuth Profile to accept tokens from when accessing the Dashboard
The clients to use for authenticating users to the RESTCONF API
environments/environment/admin-service/http/devops-dashboard
Enable the DevOps Dashboard UI
/environments/environment/admin-service/http/devops-dashboard
leafref /base:processing/base:authorization-managers/base:authorization-manager/base:id
/base:processing/base:authorization-managers/base:authorization-manager/base:id
Authorization Manager that should authorize requests from the DevOps Dashboard client to the GraphQL APIs. If not configured, access to the GraphQL APIs by the dashboard client will be forbidden.
leafref /base:profiles/base:profile[base:id=current()/../../base:restconf/as:oauth/as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
/base:profiles/base:profile[base:id=current()/../../base:restconf/as:oauth/as:oauth-profile]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
The client to use for authenticating users to the dashboard
environments/environment/themes
UI theme configuration
environments/environment/themes/default-theme
The default theme, not using any template areas.
/environments/environment/themes/default-theme
base64-encoded-string
A base64 encoded string of theme CSS variables
A base64 encoded string of custom css that will be joined with the css properties
environments/environment/themes/default-theme/template-variables{name} (keys ['name'])
A list of template variables that will be available in the template context
/environments/environment/themes/default-theme/template-variables{name}
The name of the template variable as it will appear in the template context. The name must start with an underscore.
The value of the variable
uint32
(default: 2628000)
The maximum duration (in seconds) that a static resource should be cached by a client Web browser
environments/environment/services/zones
List of available zones in the system, these are referenced by subsystems when needed
environments/environment/services/zones/default-zone
The default zone to be used unless another is explicitly necessary
/environments/environment/services/zones/default-zone
leafref /facilities/email-providers/email-provider/id
/facilities/email-providers/email-provider/id
The email-provider to use for this zone
Key used to sign cookies, for example.
Secondary key. Used to verify signatures when using the main symmetric-key fails. Allows rotating the symmetric-key.
environments/environment/services/zones/default-zone/mobile-app-association
environments/environment/services/zones/default-zone/mobile-app-association/ios-app-configuration{app-id} (keys ['app-id'])
App id for IOS applications
environments/environment/services/zones/default-zone/mobile-app-association/android-app-configuration{namespace package-name} (keys ['namespace package-name'])
/environments/environment/services/zones/default-zone/mobile-app-association/android-app-configuration{namespace package-name}
environments/environment/services/zones/default-zone/mobile-app-association/android-app-configuration{namespace package-name}/sha256-cert-fingerprints{fingerprint} (keys ['fingerprint'])
/environments/environment/services/zones/default-zone/mobile-app-association/android-app-configuration{namespace package-name}/sha256-cert-fingerprints{fingerprint}
The origins (scheme, host, and optional port) that are allowed to make cross origin requests
environments/environment/services/zones/zone{id} (keys ['id'])
The zone list may be empty. If so, the default zone is the only one used. If the list is non-empty, the default zone is used by nodes not configured to use aparticular zone.
/environments/environment/services/zones/zone{id}
The only meaning of a zone is a name. It’s up to the admin to decide where and what that zone stands for.
Key used to sign cookies, for example. If not set, the key of the default zone is used.
environments/environment/services/zones/zone{id}/mobile-app-association
environments/environment/services/zones/zone{id}/mobile-app-association/ios-app-configuration{app-id} (keys ['app-id'])
environments/environment/services/zones/zone{id}/mobile-app-association/android-app-configuration{namespace package-name} (keys ['namespace package-name'])
/environments/environment/services/zones/zone{id}/mobile-app-association/android-app-configuration{namespace package-name}
environments/environment/services/zones/zone{id}/mobile-app-association/android-app-configuration{namespace package-name}/sha256-cert-fingerprints{fingerprint} (keys ['fingerprint'])
/environments/environment/services/zones/zone{id}/mobile-app-association/android-app-configuration{namespace package-name}/sha256-cert-fingerprints{fingerprint}
environments/environment/services/service-role{id} (keys ['id'])
/environments/environment/services/service-role{id}
A given name of the service role
Where the service is located, physically
Enable or disable the entire daemon instance
leafref ../../zones/zone/id
../../zones/zone/id
The zone that the service is in (which, if not set, will be the default zone)
(default: 8443)
The port the service listens on
enumeration http, https
enumeration
http, https
(default: https)
Which protocol to use, almost always, https should be used
A pointer to the key used for the SSL server
Enable HTTP 2 (H2)
(default: -XX:+UseG1GC -XX:+UseStringDeduplication)
The options that should be passed to the Java Virtual Machine (JVM) when the service is started
Disable generation of assetlinks (’…/.well-known/assetlinks.json’) from configured Android App associations
environments/environment/services/service-role{id}/hsts
Enable HSTS support for this role
/environments/environment/services/service-role{id}/hsts
(default: 15465601)
Maximum number of seconds that HSTS will be used for
Whether or not subdomains should use HSTS as well
Whether or not any pre-loaded certificates should be used by a browser
environments/environment/services/service-role{id}/content-security-policy
environments/environment/services/service-role{id}/content-security-policy/reporting-endpoint
Enables reporting of HTTP Content Security Policy violations: adds the Content-Security-Policy report-to and report-uri directives, as well as the Reporting-Endpoints HTTP header.
/environments/environment/services/service-role{id}/content-security-policy/reporting-endpoint
(default: csp-reporting-endpoint)
Name of the reporting endpoint
URL to report Content Security Policy violations to.
environments/environment/services/service-role{id}/server-tls
/environments/environment/services/service-role{id}/server-tls
Enable TLS 1.0 (should be disabled unless necessary)
Enable TLS 1.1 (should be disabled unless necessary)
Enable TLS 1.2
Enable TLS 1.3
environments/environment/services/service-role{id}/server-tls/sni-host-check
Enable SNI host check, such that inbound TLS connections with a Server Name Indicator must match the name of the server’s SSL certificate.
Require the client to use SNI. Can only be set when sni-host-check is enabled.
environments/environment/services/service-role{id}/mutual-tls
/environments/environment/services/service-role{id}/mutual-tls
The port to use for mutual TLS. Defaults to the same value as configured for listening-port for this service.
leafref /base:facilities/crypto/ssl/client-truststore/client-certificate/id
/base:facilities/crypto/ssl/client-truststore/client-certificate/id
The certificates that have signed any client’s certificate used to authenticate such clients. If no truststores are configured, ALL truststores are added to the mutual-tls trust for this service.
environments/environment/services/service-role{id}/thread-count
/environments/environment/services/service-role{id}/thread-count
uint16
(default: 8)
The minimum number of threads that should be started when the service’s Java Virtual Machine (JVM) starts
(default: 100)
The maximum number of threads that can be started by the Java Virtual Machine (JVM) of the service
environments/environment/services/service-role{id}/ciphers
White- and black-listing of ciphers used for incoming secure connections. Enabling this feature will disable any white- and black-lists automatically enforced by the server.
/environments/environment/services/service-role{id}/ciphers
A white-list of ciphers to use for incoming secure connections
A black-list of ciphers not to use for incoming secure connections
environments/environment/services/service-role{id}/webfinger
Enable webfinger support for this service
leafref /profiles/profile/endpoints/endpoint/id
/profiles/profile/endpoints/endpoint/id
A list of endpoints deployed on this service instance, no order implied
environments/environment/services/runtime-service{id} (keys ['id'])
This list shows the connected and recently connected runtime nodes
/environments/environment/services/runtime-service{id}
The unique id of the runtime node
The given name of the runtime node
The service role the node is using
The time the node was booted
enumeration connected, disconnected
connected, disconnected
(default: disconnected)
The node’s cluster status
Current uptime for the node
environments/environment/reporting
Reporting makes runtime nodes expose Prometheus compatible metrics
/environments/environment/reporting
Enable reporting
Include profile_id label in metrics
environments/environment/alarms
alarm-handler (keys: ['id'])
An alarm handler processes alarms that are raised and cleared by the system.
webhook-notifier
enumeration flat, nested
flat, nested
(default: nested)
The Json format that should be used for the posted message. The ‘flat’ format presents a single level json object and ‘nested’ is a structured json format.
webhook-notifier/web-service
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/webhook-notifier/web-service
sets the hostname or ip-address of the webservice service, e.g. ‘localhost’ or ‘127.0.0.1’
(default: 80)
sets the port of the webservice service, e.g. 80 or 443.
(default: /)
sets the main context of the webservice service, e.g. ‘/scim’.
email-notifier
email-notifier/email-provider
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/email-notifier/email-provider
leafref /base:facilities/base:email-providers/base:email-provider/base:id
/base:facilities/base:email-providers/base:email-provider/base:id
A reference to the Email-Provider
A set of email addresses to send alarm notifications to
slack-notifier
slack-notifier/web-service
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/slack-notifier/web-service
pagerduty-notifier
The Integration Key from Pager Duty to use when calling the Events API
pagerduty-notifier/web-service
/environments/environment/alarms/alarm-handlers/alarm-handler{id}/pagerduty-notifier/web-service
profile (keys: ['id', 'type'])
The section is augmented by each profile added to the system. The profile is the main function in the system, like oauth, openid connect etc
/profiles/profile{id, type}
A descriptive id of the profile
profile-type
This will result in filtering, so that an endpoint and a profilecan be matched, and only used when compatible
Expose detailed error messages in the server responses whenever possible. By default, in case of failures due to external services or internal errors, the server returns a generic error message to avoid accidentally exposing sensitive information.
apps-service
The Applications Server.
The (optional) OAuth profile that is used for this application profile.
applications
All configured applications
applications/application{id} (keys ['id'])
applications/application{id}/token-handler
The settings for a Token Handler application
/profiles/profile{id, type}/settings/apps-service/applications/application{id}/token-handler
The domain that the Single Page Application (SPA) is served from, as base url of the SPA. This is needed to allow CORS requests from the SPA to the Token Handler service.
The parent domain of the backend-for-frontend (BFF) service. It will be set as the domain for the proxy cookie. This setting is only needed when OAuth Agent and BFF run on different subdomains. For example if the agent runs on ‘agent.example.com’, and the BFF runs on ‘bff.example.com’, then this setting must be ‘example.com’. This is required to share the proxy cookie between the agent and the BFF service.
(default: th-)
The prefix to use with cookies that are managed by Token Handler. Defaults to ‘th-‘.
The HTTP client that is used (e.g. to call the token endpoint). This client needs to be configured with a trust store, if specific TLS trust is needed to access the Authorization Server. If not defined, the default HTTP client is used.
The path to be set on the session cookie. If not set, the path to this token handler application will be used (/<app-anonymous-endpoint-path>/<application-id>). This needs to be set only when a proxy rewrites the path to this application.
Require the ‘token-handler-version’ HTTP header on all token handler application endpoints to force CORS pre-flight requests. This strengthens the security of this token handler application.
enumeration apigee, aws, azure, kong, openresty, nginx
apigee, aws, azure, kong, openresty, nginx
The proxy to be used with this token handler application.
applications/application{id}/token-handler/internal-client
leafref /base:profiles/base:profile[base:id=current()/../../../../../apps:oauth-profile-id]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
/base:profiles/base:profile[base:id=current()/../../../../../apps:oauth-profile-id]/base:settings/as:authorization-server/as:client-store/as:config-backed/as:client/as:id
The internal client-id to use to make the authorization request.
applications/application{id}/token-handler/external-client
/profiles/profile{id, type}/settings/apps-service/applications/application{id}/token-handler/external-client
Client ID that is used to make the authorization request.
The client secret that is used to make the authorization request.
The URL of the authorization endpoint.
The URL of the token endpoint.
Use PKCE when making an authorization request. Enabled by default.
The issuer of the authorization server that issues the tokens. This will be used for ID token validation to check the iss claim, and for authorization response validation - to check the iss parameter. If this is not set then no such validation will be done.
The redirect URL to be used in authorization requests.
The scopes to ask for in an authorization request.
applications/application{id}/token-handler/external-client/logout
Enables RP-initiated logout from the authorization server.
/profiles/profile{id, type}/settings/apps-service/applications/application{id}/token-handler/external-client/logout
The URL of the logout endpoint.
The post-logout redirect URL. The user-agent will be redirected here after a successful logout.
applications/application{id}/token-handler/proxy-keystore
The elliptic-curve public key used to encrypt the proxy cookie.
leafref /base:facilities/base:crypto/base:encryption-keys/base:encryption-key/base:id
/base:facilities/base:crypto/base:encryption-keys/base:encryption-key/base:id
applications/application{id}/token-handler/authorization-parameters-whitelist
The authorization parameter names that are allowed to be sent by an SPA in ‘login/start’ requests. The ‘scope’ parameter is always allowed and it doesn’t have to be whitelisted here.
settings/authentication-service
The Authentication Service is a Profile that enables Authentication on the server. It can be configured with any number of authenticators of any type.
/profiles/profile{id, type}/settings/authentication-service
ID of the tenant associated with this profile. Token Services and User Management Services linked to this Authentication profile inherit this tenant ID. When this value is set, most facilities and data, like accounts and credentials, will be isolated for each tenant.
(default: 3600)
The number of seconds the SSO session will be valid
The number of seconds the SSO session will be valid while not used
Whether the SSO cookie should persist only for the browser session, i.e. expire when browser is closed. Note that when set to true, the SSO cookie will expire when the browser session does regardless of the value set in sso-expiration-time or in sso-inactivity-timeout. The cookie will however never be valid for a longer duration than set by sso-expiration-time and sso-inactivity-timeout or the longest lasting sso-expiration-time and sso-inactivity-timeout set on any specific authenticator.
By default the SSO cookie is not persisted in a database. By setting this to true the cookie is persisted in the session store, and only a reference is used as cookie. This is needed if the SSO cookie contains large amounts of user data.
When the sso session is persisted to database, this setting enables encoding of the session data. Useful to mitigate against charset encoding problems with the database
(default: username)
The name of the cookie that stores the user’s preferences, like username and locale settings
If set, the user will be redirected to this URL after logout
By default the preflight endpoint will be enabled on the anonymous endpoint. This option allows the endpoint to be disabled.
leafref ../protocols/protocol/id
../protocols/protocol/id
The id of the protocol plugin
leafref /base:facilities/base:sms-providers/base:sms-provider/base:id
/base:facilities/base:sms-providers/base:sms-provider/base:id
The sms-provider to be used for this zone
Enables the API-driven UI to be used on this authentication profile and linked oauth profiles.
Enables the unsafe (e.g. POST) cross-site requests blocking mechanism. Blocks cross-site requests (those originating from a different or third-party domain) with an unsafe method from being accepted, except for endpoints the explicitly allow it. Disabling this feature can help with interoperability but does pose security risks, and should only be enabled if strictly required.
settings/authentication-service/base-url
This setting will let this profile operate under specific URLs. It makes it possible to have many URLs running on the same Curity instance. Each authentication service will redirect using these settings if present. If this is not set, the profile will use the base-url setting from the environment section. The SSO can only occur inside a profile since the SSO cookie is bound to this URL.
/profiles/profile{id, type}/settings/authentication-service/base-url
This URL is used as default. If the incoming request does not contain an X-Forwarded-Host header with a white-listed URL in the additional-base-url section, this one will be used.
This is a multi-value element where additional URLs can be configured. If the X-Forwarded-Host or Host Header contains any of these, it will be selected and used when redirecting internally.
settings/authentication-service/redirect-url-whitelist
This list is the profile wide redirect whitelist, any redirect will be validated against this list of hosts. By default the endpoints the profile interacts with such as the token service’s authorize, assisted-token and device flow endpoints are added to the list. Any external endpoints that the authentication service redirects to needs to be added here.
settings/authentication-service/account-domains/account-domain{id} (keys ['id'])
The domain (i.e., grouping, organizational unit, realm) of accounts
/profiles/profile{id, type}/settings/authentication-service/account-domains/account-domain{id}
The given ID of an account domain
A description of the domain
settings/authentication-service/authentication-actions
Authentication Actions allow you to orchestrate what happens after the credentials are verified but before the session is committed.
settings/authentication-service/authentication-actions/authentication-action{id} (keys ['id'])
An Authentication Action that can be assigned to authenticators
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}
The given ID of the Authentication Action
Element linked to this authentication action
Optional override for template area
settings/authentication-service/authentication-actions/authentication-action{id}/opt-in-mfa
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/opt-in-mfa
Disable use of recovery codes
Allow using recovery codes to complete authentication
Allow using an SSO to complete second factor authentication
(default: 0)
TTL of the second factor opt-out, in days. If zero (the default), then second factor opt-out is not allowed
settings/authentication-service/authentication-actions/authentication-action{id}/opt-in-mfa/account-manager
leafref /base:processing/base:account-managers/base:account-manager/base:id
/base:processing/base:account-managers/base:account-manager/base:id
A reference to an Account Manager
settings/authentication-service/authentication-actions/authentication-action{id}/opt-in-mfa/mfa-state-bucket
Bucket to store MfA state in. Required for LDAP account managers.
leafref /base:facilities/base:data-sources/base:data-source/base:id
/base:facilities/base:data-sources/base:data-source/base:id
A reference to a data source
settings/authentication-service/authentication-actions/authentication-action{id}/opt-in-mfa/allowed-second-factor{authenticator-id} (keys ['authenticator-id'])
List with the allowed second factors
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/opt-in-mfa/allowed-second-factor{authenticator-id}
leafref ../../../../../auth:authenticators/auth:authenticator/auth:id
../../../../../auth:authenticators/auth:authenticator/auth:id
The second factor authenticator ID
The authentication method description that appears in the user interface. If not defined, the authenticator description will be used
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition
Disables the second factor subject check, allowing the second factor subject to be different from the authenticated subject (i.e. first factor). Should only be enabled when different subjects are allowed and there is a check somewhere else verifying that the second factor subject value is adequate for the first subject value.
The condition for which to use a second factor
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-enable-condition
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-enable-condition
(default: requireSecondFactor)
The name of the attribute that will contain the boolean to trigger the secondfactor. If the attribute is not found it is treated same as False
attribute-location subject-attributes, context-attributes, action-attributes
attribute-location
subject-attributes, context-attributes, action-attributes
(default: subject-attributes)
The location from where the attribute is retrieved.
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-enable-condition/second-factor
The authenticator to trigger as the second factor when the the condition is met.
leafref ../../../../../../auth:authenticators/auth:authenticator/auth:id
../../../../../../auth:authenticators/auth:authenticator/auth:id
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-acr-condition
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/attribute-acr-condition
(default: secondFactorAcr)
The name of the attribute to look for that contains the ACR to use as second factor
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/subject-condition
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/subject-condition/subject-pattern-condition{subject-pattern} (keys ['subject-pattern'])
The regex to match the subject attribute against.
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/subject-condition/subject-pattern-condition{subject-pattern}/second-factor
The authenticator to use as second factor when the subject pattern matches
leafref ../../../../../../../auth:authenticators/auth:authenticator/auth:id
../../../../../../../auth:authenticators/auth:authenticator/auth:id
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/always
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/always/second-factor
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/client-property-condition
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/client-property-condition/condition{condition-script} (keys ['condition-script'])
script
The expression to run against the client attributes. This expression will be evaluated against the properties of the OAuth client that issued the request that started the authentication flow. Example expressions: client.id == ‘my-good-client’ client.properties.mfa-client == ‘true’
settings/authentication-service/authentication-actions/authentication-action{id}/multi-factor-condition/client-property-condition/condition{condition-script}/second-factor
The authenticator to use as second factor when the expression returns true
settings/authentication-service/authentication-actions/authentication-action{id}/zone-transfer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/zone-transfer
(default: zone)
Name of the attribute from which to extract the id of the intended zone.
Location to search for the zone attribute.
Name of the cookie that contains the zone id after a successful execution.
leafref /base:environments/base:environment/base:services/base:zones/base:zone/base:id
/base:environments/base:environment/base:services/base:zones/base:zone/base:id
The zones to be considered.
settings/authentication-service/authentication-actions/authentication-action{id}/signup
settings/authentication-service/authentication-actions/authentication-action{id}/signup/password
leafref /base:processing/base:credential-managers/base:credential-manager/base:id
/base:processing/base:credential-managers/base:credential-manager/base:id
The Credential Manager is used to verify the credentials
settings/authentication-service/authentication-actions/authentication-action{id}/signup/authenticator
settings/authentication-service/authentication-actions/authentication-action{id}/signup/authenticator/signup-authenticator
A reference to an authenticator
settings/authentication-service/authentication-actions/authentication-action{id}/signup/authenticator/bucket
Reference to the Bucket data source used to store any additional info needed by the authenticator when creating a new account
settings/authentication-service/authentication-actions/authentication-action{id}/signup/signup-fields
settings/authentication-service/authentication-actions/authentication-action{id}/signup/signup-fields/phone
settings/authentication-service/authentication-actions/authentication-action{id}/signup/signup-fields/first-name
settings/authentication-service/authentication-actions/authentication-action{id}/signup/signup-fields/last-name
settings/authentication-service/authentication-actions/authentication-action{id}/signup/signup-fields/custom-signup-fields{name} (keys ['name'])
A custom account attribute
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/signup/signup-fields/custom-signup-fields{name}
Attribute name
User must provide value when creating new account
settings/authentication-service/authentication-actions/authentication-action{id}/signup/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/sequence
leafref ../../../auth:authentication-action/auth:id
../../../auth:authentication-action/auth:id
settings/authentication-service/authentication-actions/authentication-action{id}/bundle
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/bundle
settings/authentication-service/authentication-actions/authentication-action{id}/switch
If true (default value) the action will deny the authentication if no condition is matched. Otherwise it will succeed.
settings/authentication-service/authentication-actions/authentication-action{id}/switch/case{name} (keys ['name'])
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/switch/case{name}
A mandatory unique name for this switch case
The JavaScript boolean expression conditioning the execution of this case’s authenticator.
leafref ../../../../auth:authentication-action/auth:id
../../../../auth:authentication-action/auth:id
The authentication action to run if the condition is true.
settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement
The label displayed on the button to accept the acknowledgement. This message can be configured and localized using message keys.
The label displayed on the button to cancel or decline the acknowledgement. This message can be configured and localized using message keys.
When true the user can cancel or decline the acknowledgement request. When false the user can only accept it.
The acknowledgement request message displayed to the user so that he can accept or decline it. This message can be configured and localized using message keys.
settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement/always
The acknowledgement is always requested
settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement/attribute-condition
The acknowledgement is requested only if an attribute is present in one of the attributes location. If the attribute is present, the user already responded to the acknowledgement and it is not requested anymore. Otherwise the user response is requested.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement/attribute-condition
enumeration subject-attributes, context-attributes, action-attributes
Location to search or store the attribute.
The name under which to search or store the attribute.
settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement/user-response-attribute
The attribute’s name storing the user response as a boolean value
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/request-acknowledgement/user-response-attribute
settings/authentication-service/authentication-actions/authentication-action{id}/changed-country
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/changed-country
The location where the attribute with the action result will be added. The default location are the subject attributes.
The name of the attribute that will be potentially used from a following action.
settings/authentication-service/authentication-actions/authentication-action{id}/changed-country/bucket
settings/authentication-service/authentication-actions/authentication-action{id}/update-account
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name} (keys ['name'])
The list of operations to be performed on the account.
The operation name.
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/add-attribute
Adds an attribute.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/add-attribute
If enabled, the action will return failure if the source attribute is not found. The default behavior is to ignore the operation.
(default: action-attributes)
The location on which the source attribute is searched.
The path to the source attribute, i.e., the attribute containing the value used on the addition.
The path to the the account attribute to be added.
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/add-attribute/convert-to-multi-valued
Convert the value into a multi-valued attribute value
Is the primary value?
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/delete-attribute
Deletes an attribute.
The path to the the account attribute to be deleted.
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/replace-attribute
Replaces an attribute.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/replace-attribute
The path to the source attribute, i.e., the attribute containing the value used on replace.
The path to the the account attribute to be replaced.
settings/authentication-service/authentication-actions/authentication-action{id}/update-account/operation{name}/replace-attribute/convert-to-multi-valued
settings/authentication-service/authentication-actions/authentication-action{id}/send-email
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/send-email
The name of the attribute containing the email recipient.
Location to search for the attribute containing the email recipient.
settings/authentication-service/authentication-actions/authentication-action{id}/send-email/email-provider
settings/authentication-service/authentication-actions/authentication-action{id}/send-email/content
Configuration of the email content.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/send-email/content
The email body.
The email subject.
The email title.
param template:string (optional) Name of the template to use for the email content.
Name of the template to use for the email content.
settings/authentication-service/authentication-actions/authentication-action{id}/auto-create-account
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-create-account
Add all other attributes from the configured location to the account (subject attributes are used by default)
When this is set to ‘true’ and the authenticator belongs to a domain, a link will be created on the authenticator’s domain with foreignAccount the ‘subject’, using the same account manager used to create the account.
The attribute containing the email for the new account. If not configured, a unique email will be generated for the account. If configured but no attribute is found, a server error will occur.
Source location for the attribute containing the email.
Source location for the additional attributes to add to the account.
When this is set to ‘true’, the action will fail authentication if the account cannot be created, for example if the email is used by some other account.
The attribute containing the phone number for the new account. If configured but no attribute is found, a server error will occur.
Source location for the attribute containing the phone number.
(default: subject)
The attribute containing the username for the new account. If this attribute is not found, a server error will occur.
Source location for the attribute containing the username.
settings/authentication-service/authentication-actions/authentication-action{id}/auto-create-account/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/copy-attribute
settings/authentication-service/authentication-actions/authentication-action{id}/copy-attribute/operation{name} (keys ['name'])
List of attributes to copy or move from one location to another
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/copy-attribute/operation{name}
Unique identifier of the operation
When true, the attribute is moved, instead of being copied, from the source location to the target one
The source path is literal, and does not represent a path. Enable this if your attribute names contain a period, which would indicate that it is addressing a nested object.
The source location of the attribute to copy: Subject attributes, Context attributes or Action attributes
The path to the source attribute to copy
The target path is literal, and does not represent a path. Enable this if the attribute you are creating contains a period, which would indicate that it is addressing a nested object.
The target location to copy the attribute to: Subject attributes, Context attributes or Action attributes
The path to the destination to copy the attribute to
settings/authentication-service/authentication-actions/authentication-action{id}/new-country
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/new-country
settings/authentication-service/authentication-actions/authentication-action{id}/new-country/bucket
settings/authentication-service/authentication-actions/authentication-action{id}/lookup-linked-accounts-transformer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/lookup-linked-accounts-transformer
(default: linked_accounts)
The attribute name to store the list of linked accounts in
The target location for the attribute with the list of linked accounts.
settings/authentication-service/authentication-actions/authentication-action{id}/lookup-linked-accounts-transformer/linking-account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/selector
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/selector
Name of the output attribute.
Location to add the output attribute.
The title to be displayed for the selection. Can be a message key.
settings/authentication-service/authentication-actions/authentication-action{id}/selector/option{title} (keys ['title'])
Options to be presented to the user.
The text to be displayed for this option. Can be a message key.
param boolean-attribute-value: boolean (optional)
param integer-attribute-value: int64 (optional)
int64
param string-attribute-value: string (optional)
settings/authentication-service/authentication-actions/authentication-action{id}/attribute-prompt
settings/authentication-service/authentication-actions/authentication-action{id}/attribute-prompt/required-attribute{name} (keys ['name'])
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/attribute-prompt/required-attribute{name}
A regular expression to validate the value of this field.
enumeration text, email, url, password, checkbox, number, tel, color
text, email, url, password, checkbox, number, tel, color
(default: text)
settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer
The source and destination of the transformed attributes.
settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attribute-data-source
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attribute-data-source
This is a whitelist of attributes that if returned by the data source will be added to thetransformation response
settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attributes{attribute-name} (keys ['attribute-name'])
The list of attributes to perform the transformation on
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/data-source-transformer/attributes{attribute-name}
The name of the attribute, that the transformation will be applied on. This attribute will be created if its not returned by the data source, as long as a value can be found.
The name of the resulting attribute after the transformation is applied, if not set the name will be the same as the original attribute
The name of the attribute (eg. column) that contains the replacement value for the attribute
This is an optional list where attributes can be listed that should be removed from the original set of parameters. If the name of the attribute matches what the authentication returned, that attribute will be removed. The excluded attributes need to have a fully qualified path. Example: emails.email.value, or to remove all emails: emails
settings/authentication-service/authentication-actions/authentication-action{id}/deny
The error string used when the action denies the authentication.
settings/authentication-service/authentication-actions/authentication-action{id}/deny/always
Always deny authentication.
settings/authentication-service/authentication-actions/authentication-action{id}/deny/attribute-condition
Deny authentication depending on the presence of an attribute.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/deny/attribute-condition
The expected attribute’s value that determines whether authentication is denied.
The name of the attribute that determines whether authentication is denied. If the attribute is present and its value matches the expected boolean value, the authentication is denied; otherwise, it proceeds.
Location to search for the attribute that determines whether authentication is denied.
settings/authentication-service/authentication-actions/authentication-action{id}/impossible-journey
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/impossible-journey
int32
(default: 250)
The speed that can dictate if a journey is impossible (km/h). Default is 250 km/h.
settings/authentication-service/authentication-actions/authentication-action{id}/impossible-journey/bucket
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account
Set to true if any already existing link to the same foreign subject in the Linking Account Domain should be overwritten
Set to true if the account to be linked with the current Linking Account Manager is the Local account, and the current Authenticators session is the foreign account
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/linking-account-domain
leafref ../../../../../auth:account-domains/auth:account-domain/auth:id
../../../../../auth:account-domains/auth:account-domain/auth:id
A reference to an Account Domain
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/linking-account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/advanced
This option allows you to store the links using some arbitrary attribute from the Authenticated Session, instead of the account id. Use with caution!
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/advanced
The name of the attribute containing the account ID. This is used as the local account in the link. If use-linked-account-as-main-account is enabled, then this attribute is picked from the Authenticated Sessions, otherwise it is taken from the incoming attributes from the authenticator this action runs on. No check is made to verify that the account corresponding to the given ID exists. It is strongly recommended to NOT use an attribute that might change such as subject (username) or email. Doing this might cause several problems as there is no guarantee that the value of this attribute is globally unique and immutable. It is strongly suggested to use a auto-create-account action before this one, instead, to avoid any future issues.
The source location for the attribute containing the account ID. Defaults to subject-attributes
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/user-confirmation
Require the user to confirm the links. By default the link establishment is automatic. Use this setting to enable and configure user confirmation.
Override the domain name shown on the confirmation user interface
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/user-confirmation/attribute-for-foreign-identifier
The attribute with the foreign identifier to use on the user confirmation. By default, the subject attribute will be used
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/user-confirmation/attribute-for-foreign-identifier
The attribute location
The attribute name
settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/user-confirmation/attribute-for-local-identifier
The attribute with the local identifier to use on the user confirmation. By default, the subject attribute will be used
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/auto-link-account/user-confirmation/attribute-for-local-identifier
settings/authentication-service/authentication-actions/authentication-action{id}/remove-attribute-transformer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/remove-attribute-transformer
settings/authentication-service/authentication-actions/authentication-action{id}/reset-password
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/reset-password
When this is set to true, the users will be able to skip the password reset.
(default: resetPassword)
When this attribute is found in the subject attributes and set to ‘true’, the user will be prompted with an option to perform a password update.
Source location for the attribute controlling the password update.
Regular expression which checks the strength of the submitted password
settings/authentication-service/authentication-actions/authentication-action{id}/reset-password/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/reset-password/credential-manager
A reference to a Credential Manager
settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer
Set to true if this action should fail if no link could be resolved
The name of the authentication-attribute to put the linked domain in
The target location where to put the attribute with the linked domain in.
The name of the authentication-attribute to put the original subject in
The target location where to put the attribute with the original subject in.
settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer/linking-account-domain
settings/authentication-service/authentication-actions/authentication-action{id}/resolve-linked-account-transformer/linking-account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/restart
The flag indicating whether authenticator should run after the pipeline restart.
settings/authentication-service/authentication-actions/authentication-action{id}/restart/always
Always restart authentication pipeline.
settings/authentication-service/authentication-actions/authentication-action{id}/restart/attribute-condition
Restart authentication pipeline depending on the presence of an attribute.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/restart/attribute-condition
The expected attribute’s value that determines whether the pipeline is restarted.
The attribute name.
The attribute location.
settings/authentication-service/authentication-actions/authentication-action{id}/regex-transformer
settings/authentication-service/authentication-actions/authentication-action{id}/regex-transformer/attributes{attribute-base-path, attribute-name} (keys ['attribute-base-path', 'attribute-name'])
This transformer applies the defined regex on the matching key. The username key is called ‘subject’ and if omitted will be passed through without change. If a matching-regex is omitted, the attribute will be passed through without change of value, but might be given a new name.If an attribute value doesn’t match any key, the transformer will ignore that value and it will be passed through.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/regex-transformer/attributes{attribute-base-path, attribute-name}
The location of the attribute in the Attributes tree structure. This contains the path without the attribute name. Example: emails.email or name It’s also possible to address root elements by using the $root keyword: $root.subject. If the element is directly under the top level simply set the path to $root, if it’s nested either use the example above or explicitly state root via $root.emails.email
The name of the attribute, that the regex will be applied on. The attribute is looked for in the path given in attribute-base-path To address the value of an email, simply set the attribute-base-path to $root.emails.email and the attribute-name to value
The regular expression to apply on the attribute value, in the form of a regex patternIf the value is a multivalued attribute (list elements) the regex will be applied on all values individually.All values will be included in the result, if the regex didn’t match, the original value is included.
The string or expression to replace the matching portion of the attribute value with. Must be set of the matching-regex is set.
The name of the resulting attribute after the transformation is applied, if not set the name will be thesame as the original attribute name. Note: This is placed in the attribute-base-path same as the attribute-name that it is replacing. It is not possible to move elements around in the structure, replacement and renaming is done on the same path
settings/authentication-service/authentication-actions/authentication-action{id}/allow-deny-country
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/allow-deny-country
Enable to allow the countries in the list, disable to deny them.
The list of countries to allow or deny.
settings/authentication-service/authentication-actions/authentication-action{id}/set-attribute
settings/authentication-service/authentication-actions/authentication-action{id}/set-attribute/attribute{name} (keys ['name'])
List of additional attributes, their values and location.
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/set-attribute/attribute{name}
Name of an attribute. By default this will be treated as an attribute path, meaning this action may be used to create nested attributes.
The name is literal, and does not represent a path. Enable this if your attribute names contain a period, which would indicate that it is addressing a nested object.
The destination of the additional attribute.
param boolean-value: boolean (optional) Boolean value of an additional attribute
Boolean value of an additional attribute
param integer-value: int32 (optional) Integer value of an additional attribute
Integer value of an additional attribute
param string-value: string (optional) String value of an additional attribute
String value of an additional attribute
settings/authentication-service/authentication-actions/authentication-action{id}/require-active-account
settings/authentication-service/authentication-actions/authentication-action{id}/require-active-account/account-manager
settings/authentication-service/authentication-actions/authentication-action{id}/script-transformer
/profiles/profile{id, type}/settings/authentication-service/authentication-actions/authentication-action{id}/script-transformer
leafref /base:processing/base:procedures/base:transformation-procedure/base:id
/base:processing/base:procedures/base:transformation-procedure/base:id
When present, the attributes issued by the additional authentication factors will be included, alongside with the attributes issued by the main authenticator. The attributes from the additional authenticators will have authority equal to the authenticator’s ACR. The attributes from the main authenticator don’t have any authority.
authenticator (keys: ['id'])
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}
The Authentication Context Class Reference (ACR) that this authenticator supports
leafref ../../../account-domains/account-domain/id
../../../account-domains/account-domain/id
Optional domain in which accounts are stored
A readable description of the Authenticator, for User presentation, can be a locale key
This controls the expiration time for this specific authenticator. If this is not set, the value set on the profile will be used instead.A common scenario is to allow some factors to have longer lifetimes than others, which is accomplished by setting this value on the authenticator in question
The maximum time an SSO session created by this authenticator will be valid without being used. If this value is not set, then the profile value will be used (if set there).
leafref ../../../authenticators/authenticator/id
../../../authenticators/authenticator/id
Optional authenticator (or any from a group) that the user must authenticate with prior to this one
A category of usage that this authenticator instance is intended for.
Whether or not the authenticator should be excluded from the OAuth and OpenID Connect metadata (“acr_values_supported” attribute) of a token profile linked to this authentication profile
geo-filtering
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/geo-filtering
If enabled then allow the countries in the list to use the authenticator. Deny otherwise.
The list of countries (ISO-3166 code) that are allowed or denied to use the authenticators.
authentication-actions
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/authentication-actions
leafref ../../../../authentication-actions/authentication-action/id
../../../../authentication-actions/authentication-action/id
An ordered list of actions that will run after authentication is complete. They can work on the attributes (including subject) that the authenticator has returned, and shape these to match the desired pattern/format, and can reject the authentication if necessary
An ordered list of actions that will run when single sign-on with the current acr is complete. They will work on the attributes that was returned at the original authentication. They can reject the sso if necessary
additional-context-attributes
List of key/value attributes that will be added to the context attributes when this authenticator finishes.
additional-context-attributes/attribute{key} (keys ['key'])
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/additional-context-attributes/attribute{key}
param required-authentication-action-for-registration: leafref ../../../authentication-actions/authentication-action/id (multi-value) (optional) Optional authentication action that must explicitly allow for this registration to occur param required-authenticator-for-registration: leafref ../../../authenticators/authenticator/id (optional) Optional authenticator (or any from a group) that the user must authenticate with prior to this registering with this.
leafref ../../../authentication-actions/authentication-action/id
../../../authentication-actions/authentication-action/id
Optional authentication action that must explicitly allow for this registration to occur
Optional authenticator (or any from a group) that the user must authenticate with prior to this registering with this.
request-validations
request-validations/request-validation{request-subpath, endpoint, http-method} (keys ['request-subpath', 'endpoint', 'http-method'])
Procedures that will execute to validate the request data
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/request-validations/request-validation{request-subpath, endpoint, http-method}
leafref /base:profiles/base:profile[base:type=current()/../../../../../../../base:type][base:id=current()/../../../../../../../base:id]/base:endpoints/base:endpoint/base:id
/base:profiles/base:profile[base:type=current()/../../../../../../../base:type][base:id=current()/../../../../../../../base:id]/base:endpoints/base:endpoint/base:id
The endpoint that this subpath exists on
enumeration get, post
get, post
leafref /base:processing/base:procedures/base:validation-procedure/base:id
/base:processing/base:procedures/base:validation-procedure/base:id
group
A group of authenticators, any one can be picked and will represent the group. (Logical OR)
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/group
Controls whether the authenticator selection should be skipped when a single authenticator is available in the group
leafref ../../../../authenticators/authenticator/id
../../../../authenticators/authenticator/id
The authenticators that belong to the group
sms
An SMS authenticator. Sends a challange over SMS
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/sms
The OTP in the SMS will be a regular OTP and not a hyperlink
(default: 6)
The length of the OTP
(default: 60)
The time the OTP or the hyperlink is valid
Whether or not users should be able to add a new device during the login process
Whether or not the information page should be shown before the registration page
(default: 3)
The maximum number times a user is allowed to try to validate a OTP. When this value is set to 0, there is no maximum attempts enforced.
The maximum number of OTP or hyperlinks that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced.
When active a login will be automatically performed after a successful registration
param account-manager: leafref /base:processing/base:account-managers/base:account-manager/base:id (optional) The Account Manager is used to fetch the account param intermediate-attribute-name: string (optional) The intermediate subject attribute that contains the identifier to use when this authenticator is used as a second factor, if configured, the account manager must not be configured
The Account Manager is used to fetch the account
The intermediate subject attribute that contains the identifier to use when this authenticator is used as a second factor, if configured, the account manager must not be configured
email
An email authenticator. Sends a challenge over email
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/email
The maximum number of Email-challenges that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced.
The maximum number times a user can try to validate the nonce sent with a hyperlink. When this value is set to 0, there is no maximum attempts enforced.
If set to true, the authenticator will not check if the account is active before sending the hyperlink.
If set to true, the authenticator will change the account status to active once the hyperlink sent was consumed by the user.
param hyperlink-time-to-live: uint32 (default: 120) The time the hyperlink is valid param hyperlink-continue-authentication-in-verify-window: boolean (default: true) Whether authentication should continue in the browser window/tab where the hyperlink is verified. This is only possible when the hyperlink is verified in the same session as it was requested.
(default: 120)
The time the hyperlink is valid
Whether authentication should continue in the browser window/tab where the hyperlink is verified. This is only possible when the hyperlink is verified in the same session as it was requested.
email/send-otp-as-code
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/email/send-otp-as-code
The time the OTP is valid
encap
The settings for an Encap authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/encap
The Account Manager is responsible for credentials and accounts. Depending on whether you pick an account manager that support registration, the html-form will support creating accounts and managing the accounts
The ID of the authentication service Encap client
(default: encap)
The application ID of the Encap mobile application being used
The API key to be used (only applicable when using the public Encap test server)
The URL to where the Encap webservice is located (e.g., https://demo.encapsecurity.com/pt)
leafref /base:facilities/base:crypto/base:signing-keys/base:signing-key/base:id
/base:facilities/base:crypto/base:signing-keys/base:signing-key/base:id
The key ID of the private key that will be used when signing messages sent to the Encap server
The URL where users may download the mobile authentication application
A title message that is sent to the encap server when starting authentication
A context body that is sent to the encap server when starting authentication, as text/plain
(default: text/plain)
The content type of the context-content
The maximum number of authentication attempts that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced.
Set a device expiration in seconds from the time the device is activated, if not set devices never expire. If this is set, it is not possible to override in the template.
encap/non-interactive-registration
Enables the possibility to activate a new device without user interaction. This can be used when the app also serves as an OpenID Connect client.
The custom scheme url to redirect to with the activation code (myapp://some-redirect)
openid-wallet
The settings for the OpenID Wallet authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/openid-wallet
(default: haip)
The prefix that will be used for building the wallet invocation URLs. Can be just a URI scheme (such as ‘haip’) or a URL (such as ‘https://wallet.example.com’).
enumeration RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA
RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA
Signature algorithm for the signed request object.
Validity period of an authorization request in seconds. This setting controls the maximum amount of time a user can take from opening this authenticator to obtaining a request object (via a provided link or via a provided QR code).
(default: 300)
Validity period of a request object in seconds. This setting controls the ‘exp’ claim of the generated request object.
A reference to the HTTP client to use. If not defined, the default HTTP client is used
openid-wallet/signing-key
A reference to a signing key. This key will be used to sign request objects created by this authenticator.
A reference to a Signing Keystore with an asymmetric key
openid-wallet/client
The client_id to be used in authorization requests.
The configuration of client id scheme.
openid-wallet/client/did
openid-wallet/client/pre-registered
openid-wallet/client/x509-san-dns
openid-wallet/client/x509-san-uri
openid-wallet/presentation-definition
Presentation definition articulates what proofs this Verifier requires.
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/openid-wallet/presentation-definition
Distinctive designation of presentation definition. May be displayed by wallets to users.
Describes the purpose for which the presentation definition’s inputs are being used for. May be displayed by wallets to users.
openid-wallet/presentation-definition/input-descriptor
Input descriptor is populated with properties describing what type of input data are required for submission to the Verifier.
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/openid-wallet/presentation-definition/input-descriptor
Describes what is being requested. May be displayed by wallets to users.
Describes the purpose for which the data is being requested. May be displayed by wallets to users.
enumeration jwt-vc-json, vc-sd-jwt
jwt-vc-json, vc-sd-jwt
(default: jwt-vc-json)
The credential format to request
openid-wallet/presentation-definition/input-descriptor/constraints
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/openid-wallet/presentation-definition/input-descriptor/constraints
The credential type accepted by this Verifier.
The credential issuer accepted by this Verifier.
html-form
The settings for an HTML form authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/html-form
Optional email-provider to use for ‘forgot password’ and ‘forgot username’ procedures. This overrides the default email provider that is configured for the zone.
DEPRECATED: The maximum number times a user is allowed to try to validate credentials. When this value is set to 0, there is no maximum attempts enforced. This setting is deprecated in favor of configuring a credential policy, with temporary lockout, on the credential manager associated to this authenticator.
When active, this authenticator will only be usable as a second factor. The username is picked up by the authenticated state and the user is asked to enter only a password.
When active a login will be automatically performed after a successful activation or password change.
When true, a checkbox with ‘remember me’ is shown to the user. This allows the user to have it’s session forgotten when the browser is closed.
sign-in-with-apple
Sign in with Apple methods
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/sign-in-with-apple
(default: https://appleid.apple.com)
The issuer of the Sign in with Apple service. Will be used to get the configuration document
The Team ID of your Apple Developer team.
The Service identifier registered with your Apple Developer team
The key to sign the client secret with. This key is issued from your Apple Developer account.
The Key ID of the signing key downloaded from the apple developer portal. A 10 character string listed in ‘Certificates, Identifiers & Profiles > Keys’
(default: openid email name)
Scope to ask for, space separated
A reference to the Http Client to use. If not defined, the default HTTP client is used
bankid
The settings for a BankID authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/bankid
The Common Name (CN) of the certificate used by the BankID provider
The amount of seconds that QR is displayed
enumeration any, with-keypad
any, with-keypad
The type of smartcard reader that must be used when authenticating with a form of BankID that supports smartcards
enumeration test, production
test, production
(default: production)
The method by which to connect to the BankID – either test or production
Use the new BankID API endpoint (appapi2.bankid.com). The old API endpoint (appapi.bankid.com) will be discontinued in June 2019. This option is obsolete and will be removed in a subsequent release.
enumeration version-5, version-6
version-5, version-6
(default: version-5)
The version of the BankID API to use.
The maximum number of authentication attempts that is allowed to be sent during one session. When this value is set to 0, there is no maximum attempts enforced. This option is obsolete and will be removed in a subsequent release (the BankID API itself handles this).
Generate a QR code for the autostart token, to be able to perform the ‘other device’-flow without asking the user for a personal number.
Parse the returned BankID signature to obtain issuers and the device info. This will make the contextAttributes large, storing the SSO sessions in a database is advised.
A message to show to the user in the app. The value may be a message-key, or the actual message. The message may be overridden by the client sending a binding message in the authentication request.
Require the user to authenticate using a MRTD (machine readable travel document), like a Swedish Passport
On same-device flows using autostart tokens, enforces the verification that the IP address of the device doing the authentication flow is the same as the IP address of the device with the BankId application. The authentication will be rejected if the addresses don’t match, which helps increases the security. However, it may reject legitimate authentications if the user’s device simultaneously uses multiple IP addresses
enumeration bankid-on-file, bankid-on-smartcard, mobile-bankid, nordea-e-id-on-file-and-on-smartcard, any
bankid-on-file, bankid-on-smartcard, mobile-bankid, nordea-e-id-on-file-and-on-smartcard, any
(multi-value) (default: any)
The allowed forms of BankID that may be used for authentication
bankid/risk-assessment
The risk parameters of the BankID API
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/bankid/risk-assessment
enumeration low, moderate
low, moderate
The maximum risk level that BankID will accept.
Send device information to BankID to be used in the risk assessment. The authenticator will pass on information like user-agent, referring domain and device identifier.
saml2
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/saml2
The SAML Entity Id that the authenticator uses when communicating with the remote SAML IDP.
The allowed clock-skew in seconds when validating the inbound response message
If there is a previously authenticated subject, pass the subject in the AuthnRequest to the SAML Identity Provider.
enumeration always, if-requested-by-client
always, if-requested-by-client
Setting controlling sending of ForceAuthn=true parameter. By default, it is not sent; this overrules the forceAuthN parameter of the request or the configuration of forced re-authentication on a client.
The SAML Entity Id of the remote SAML IDP
The target IDP URL where SAML Authentication Requests are delivered to.
leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id
/base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id
The key to verify the signature of received SAML Response messages. When no key is configured and signed SAML messages are received, then the messages will be rejected.
Indicate whether the received SAML Response message must be signed.
Indicate whether the received Assertion must be signed.
Optional reference to the signing key that is used to sign outbound SAML AuthnRequest messages. If not configured, signing AuthnRequests is disabled.
enumeration redirect, post
redirect, post
(default: redirect)
The binding to use to send the SAML AuthnRequest message to the IDP
leafref /base:facilities/base:crypto/base:decryption-keys/base:decryption-key/base:id
/base:facilities/base:crypto/base:decryption-keys/base:decryption-key/base:id
The key to decrypt encrypted assertions from the SAML Response. When this is set, an encrypted assertion is required.
saml2/authentication-context-class-reference
The Authentication Context Class Reference (ACR) values to be included in the SAML Authentication Request.
param none:empty (optional) Do not use ACR values param pass-through: empty (optional) Use the ACR values from the request to the Authentication Service. param explicit:non-empty-string (optional) Use a specific ACR value.
Do not use ACR values
Use the ACR values from the request to the Authentication Service.
Use a specific ACR value.
saml2/request-options
Optional settings to finetune how a SAML Authentication Request message is constructed.
The optional NameIdFormat that is requested in a SAML Authentication Request. When not configured, no NameIdFormat is requested.
saml2/use-artifact-binding
When enabled Assertion Consumer Service expects to receive the authentication response through the artifact binding
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/saml2/use-artifact-binding
HTTP client to use when resolving artifacts
The target IDP URL used for artifact resolution (when using artifact request binding).
google
Google OpenID Connect methods
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/google
(default: https://accounts.google.com/.well-known/openid-configuration)
The url to the openid-configuration document at Google
The client-id, registered at Google
The client-secret, registered at Google
(default: openid profile email)
Scope to ask Google for, space separated, note that if using google apps with custom domains the openid, profile and email scopes need to be present.
The allowed clock-skew in seconds when validating the JWT from the OpenID Server
The Authentication Context Class Reference (ACR) or authentication method that the OpenID Server should require
The claim to use as subject
This can be set to a google apps domain, such as your-company.com it will then only accept authentications done with an account in that domain
enumeration always, if-reauthentication-requested
always, if-reauthentication-requested
Force google to show the select account screen.
facebook
Facebook login method
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/facebook
The client-id registered with Facebook
The client-secret registered with Facebook
(default: public_profile email)
A space-separated list of scopes to request from Facebook
(default: https://www.facebook.com/dialog/oauth)
URL to the Facebook authorization endpoint
(default: https://graph.facebook.com/v3.2/oauth/access_token)
URL to the Facebook token endpoint
(default: https://graph.facebook.com/v3.2/me)
URL to the Facebook userinfo endpoint
duo
The settings for a Duo authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/duo
Allow registration during login
Show information page with instructions about installing the Duo app before registration.
When active a login will be automatically performed after a successful registration.
The API hostname of the Duo account.
The auth API integration key of the Duo account.
The auth API secret key of the Duo account.
The admin API integration key of the Duo account.
The admin API secret key of the Duo account.
(default: 1500)
The seconds for which the created activation code is going to be valid.
duo/account-manager
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/duo/account-manager
enumeration auto, push, passcode, sms, phone
auto, push, passcode, sms, phone
The allowed factors of Duo that may be used for authentication
passkeys
The settings for a Passkeys authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/passkeys
Whether or not users should be able to register a device during the login process
Enable public key credential selection based on credentials known to the browser/operating system. Before enabling, please ensure your database structure has been updated as per the product’s upgrade guides.
passkeys/account-manager
oidc
OpenID Connect methods
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc
The url to the openid-configuration document at theOpenID server (must end in ‘/.well-known/openid-configuration’)
The client-id, registered at the OpenID server
Send the client credentials using HTTP Basic authentication. When false, the credentials are sent in the request-body
(default: openid)
Scope to ask the OpenID server for, space separated
The Authentication Context Class Reference (ACR) or authentication method that should be sent in the request to the OpenID Server
If there is a previously authenticated subject, pass the subject as login_hint to the OpenID Server.
Setting controlling sending of prompt=login parameter. By default, it is not sent.
param client-secret: non-empty-string (optional) The client-secret (client-secret-post), registered at the OpenID server
The client-secret (client-secret-post), registered at the OpenID server
oidc/asymmetrically-signed-jwt
Settings for the asymmetrically signed JWT (private_key_jwt)
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc/asymmetrically-signed-jwt
Signing key for the asymmetrically signed JWT (private_key_jwt)
enumeration RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512
RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512
Signature algorithm for the asymmetrically signed JWT (private_key_jwt)
oidc/symmetrically-signed-jwt
Allowed symmetrically signing algorithms for JWT (client_secret_jwt)
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc/symmetrically-signed-jwt
Signing key for the symmetrically signed JWT (client_secret_jwt)
enumeration HS256, HS384, HS512
HS256, HS384, HS512
The signature algorithms to allow for JWT (client_secret_jwt)
oidc/encrypted-id-token
ID Token is expected to be encrypted
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/oidc/encrypted-id-token
A reference to a Decryption Keystore with a key
allowed-key-management-algorithms RSA1_5, RSA-OAEP, RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW, A128KW, A192KW, A256KW, A128GCMKW, A192GCMKW, A256GCMKW
allowed-key-management-algorithms
RSA1_5, RSA-OAEP, RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW, A128KW, A192KW, A256KW, A128GCMKW, A192GCMKW, A256GCMKW
Key Management Algorithm - the algorithm used to obtain the Content Encryption Key, and present in the ‘alg’ JWE header. If empty, any supported algorithm is allowed.
allowed-content-encryption-algorithms A128CBC-HS256, A192CBC-HS384, A256CBC-HS512, A128GCM, A192GCM, A256GCM
allowed-content-encryption-algorithms
A128CBC-HS256, A192CBC-HS384, A256CBC-HS512, A128GCM, A192GCM, A256GCM
Content Encryption Algorithm - the algorithm used to obtain the content, and present in the ‘enc’ JWE header If empty, any supported algorithm is allowed
oidc/fetch-userinfo
Fetch claims from the userinfo endpoint
param plain:empty (optional) Expect user info response to be plain JSON param signed:empty (optional) Expect user info response to be a signed JWT
Expect user info response to be plain JSON
Expect user info response to be a signed JWT
oidc/fetch-userinfo/encrypted
Settings for decrypting an encrypted userinfo response
param unsigned-payload: empty (optional) Expect the encrypted userinfo payload to be plain JSON param signed-payload: empty (optional) Expect the encrypted userinfo payload to be a signed JWT param allowed-algorithms: allowed-key-management-algorithms RSA1_5, RSA-OAEP, RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW, A128KW, A192KW, A256KW, A128GCMKW, A192GCMKW, A256GCMKW (multi-value) (optional) Key Management Algorithm - the algorithm used to obtain the Content Encryption Key, and present in the ‘alg’ JWE header. If empty, any supported algorithm is allowed. param allowed-content-encryption-algorithms: allowed-content-encryption-algorithms A128CBC-HS256, A192CBC-HS384, A256CBC-HS512, A128GCM, A192GCM, A256GCM (multi-value) (optional) Content Encryption Algorithm - the algorithm used to obtain the content, and present in the ‘enc’ JWE header If empty, any supported algorithm is allowed
Expect the encrypted userinfo payload to be plain JSON
Expect the encrypted userinfo payload to be a signed JWT
oidc/parameter-mappings
oidc/parameter-mappings/parameter-mapping{parameter-name} (keys ['parameter-name'])
Specifies a query parameter name and how to get the value for it.
The name of the query parameter.
param static-value: string (optional) A static string to use as the value. param use-value-from-request: string (optional) The name of the query parameter of the original request to get the value from.
A static string to use as the value.
The name of the query parameter of the original request to get the value from.
pingfederate
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/pingfederate
Use a template form to redirect to the PingFederate service. Useful when postMessage notifications are needed
(default: uuuu-MM-dd HH:mm:ssZZ)
The format of date time strings used by PingFederate
siths
The settings for a SITHS authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/siths
The shared secret used to decrypt identity data sent from the Windows Connector
The URL, including the scheme, host, port, and URI, of the Windows Connector
enumeration test, production, test-or-production
test, production, test-or-production
The type of SITHS cards that should be allowed – either test, production, or both
webauthn
The settings for a WebAuthN authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/webauthn
If enabled, when a user authenticates with a security key and has no built-in device registered for the active browser, they will immediately be asked to register an additional built-in device.
(default: webauthn-platform-device)
The name of the cookie that keeps track of whether a built-in device has been registered for a particular browser.
webauthn/account-manager
webauthn/passkeys-or-user-verifying-devices
Users must register and authenticate using devices that perform user verification, i.e. devices that authorize their usage via gestures such as biometric recognition or PIN entry. In most cases this means the device is a passkey, but it could be an equally strong device that verifies the user.
webauthn/any-device
Users can register and authenticate using any devices, regardless of user verification
If enabled, users can register built-in devices, a.k.a. platform devices, in addition to security-keys, a.k.a. cross-platform devices.
windows
The settings for a Windows authentication provider
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/windows
leafref ../../../auth:authenticator/auth:id
../../../auth:authenticator/auth:id
The authenticator that a user should login with if Integrated Windows Authentication (IWA) fails
totp
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/totp
enumeration sha1, sha256, sha512
sha1, sha256, sha512
(default: sha1)
The algorithm used to produce the TOTP. This parameter is ignored by some implementations and defaults to SHA1.
Allow multiple device registrations. Defaults to false.
Clock skew in seconds
(default: 1)
The Delay window of the algorithm. Greater number means that a TOTP can be used for a period of time so many times longer than the interval (delay window * interval).
Set a device expiration in seconds from the time the device is activated, if not set devices never expires. If this is set, it is not possible to override in the template. Only one device can be active per account, registering a new device expires any previous ones.
(default: idsvr-totp)
The device type (or vendor) that will be stored in the device store. This is used in registration as well as on the lookup of the devices the user has associated. If you only use one device type, it is suggested to leave this setting as is. Otherwise refer to the documentation on how this is used exactly.
Determines how long of a one-time passcode to display to the user. This parameter is ignored by some implementations and defaults to 6.
(default: 30)
The interval of the TOTP device. This parameter is ignored by some implementations and defaults to 30 seconds.
totp/account-manager
totp/bucket
totp/generated-key-config
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/totp/generated-key-config
Allow the users to set a device alias. This can be useful if a user has more than one device of this type. If it is set to false, the alias will be the username of the user.
(default: Identity server)
The issuer is embedded in the QR code and will show up in TOTP apps (i.e. Google Authenticator)
totp/generated-key-config/bucket
totp/pre-shared-key-config
totp/pre-shared-key-config/key-repository
ping-idp-adapter
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/ping-idp-adapter
The URL to the IdP Adapter
The password to use for basic authentication against the dropoff endpoint
The username to use for basic authentication against the dropoff endpoint
dynamic
Implementation type of target delegate authenticator plugin.
dynamic/configuration-bucket
dynamic/configuration-web-service
/profiles/profile{id, type}/settings/authentication-service/authenticators/authenticator{id}/dynamic/configuration-web-service
dynamic/shared-delegate-authenticator-settings
Optional settings that are provided to the delegate authenticator
The password used to decrypt a configured (private) keystore.
backchannel-authenticator (keys: ['id'])
/profiles/profile{id, type}/settings/authentication-service/authenticators/backchannel-authenticator{id}
The Authentication Context Class Reference (ACR) that for this authenticator. If not set, the value of the referenced front-channel authenticator is used, or one is derived from the authenticator’s type and id.
bankid-backchannel
/profiles/profile{id, type}/settings/authentication-service/authenticators/backchannel-authenticator{id}/bankid-backchannel
The ID of the frontchannel authenticator linked to this backchannel authenticator
This setting is only applicable when a binding message is provided and the front channel bankid authenticator is using the version 6 API . On providing the binding message, ensures that the bankid sign api is used for signing the binding message
sms-backchannel
email-backchannel
bankid-phone
/profiles/profile{id, type}/settings/authentication-service/authenticators/backchannel-authenticator{id}/bankid-phone
enumeration user, rp
user, rp
(default: user)
A value that describes who initiated the call. This is used by the BankID app to show information for how the user should proceed.
(default: test)
enumeration with-keypad, any
with-keypad, any
bankid-phone/http-client
/profiles/profile{id, type}/settings/authentication-service/authenticators/backchannel-authenticator{id}/bankid-phone/http-client
service-provider (keys: ['id'])
Service providers are usually applications or relying parties. They depend on the identity server for authentication
/profiles/profile{id, type}/settings/authentication-service/service-providers/service-provider{id}
Optional override for template area, this is used when listing multiple authenticators if many are possible to use it’s sometimes needed to brand the selection page per application.
When a list needs to be shown, this is marked as default
This URL is used if a request is made to the authentication service without the parameters necessary to initiate an authentication transaction. In such a case, the user is redirected to this URL, so that a new, properly formed, request can be made to bootstrap a new authentication transaction.
This URL is used to redirect the user to the application after a successful login has taken place
This is a list that marks which authenticators should be used for the particular service
leafref ../../../authenticator-filters/authenticator-filter/id
../../../authenticator-filters/authenticator-filter/id
The optional list of URIs or URI-patterns that is allowed to embed the rendered pages inside an iframe or be a trusted source.
protocol (keys: ['id'])
Configuration details of the protocols that can be used to connect the authentication service to other services.
simple-api
A Protocol plugin using the Simple API Protocol. Required if this authentication profile is used by a token service profile
ping-federate
A Protocol plugin using Pingfederate’s agentless adapter integration method
/profiles/profile{id, type}/settings/authentication-service/protocols/protocol{id}/ping-federate
This URL is used if a request is made to the authentication service without the parameters necessary to initiate an authentication transaction. In such a case, the user is redirected to this URL, so that a new, properly formed, request can be made to bootstrap a new authentication transaction. When integrating to PingFederate, this could happen, for example, if the user arrives at the authentication service via PingFederate, book marks the page, and later follows their new bookmark. In this case, the user would not see an error page, but instead be redirected to this URL.
When PingFederate is requesting authentication directly, this optional list of URI’s or URI-patterns define which origins are allowed to frame pages in, i.e. this list decides how and which allowed frame response headers are sent. If none are configured, framing is not allowed for this protocol. Note that when PingFederate includes a client_id, the ServiceProvider’s framing settings are used!
saml
A SAML Protocol plugin for integration with services like ADFS and other SAML providers
/profiles/profile{id, type}/settings/authentication-service/protocols/protocol{id}/saml
Reference to the key that is used to sign the login token
The recipient or audience of the SAML response messages and assertions
The Assertion Consumer Service (ACS) URL where SAML Response messages are posted to
enumeration generic, adfs
generic, adfs
(default: generic)
The type of Federation Service that will receive the login token
The number of seconds allowed for clock skew (subtracted from or added to the issuance timestamp, considering saml-message-time-to-live) that is used to compute the time before or after which a token must not be used
The number of seconds that SAML assertions are valid.
Include SessionIndex in AuthnStatement of the SAML response.
The URL to send logout responses to. If empty, the ACS URL will be used.
Sign the assertion in addition to the response.
The number of seconds after issuance that a SAML message is considered to be valid.
authenticator-filter (keys: ['id'])
Authenticator filter configuration. Authenticator filters are used to filter out authenticators depending on runtime information such as the request’s user-agent, for example.
cidr
CIDR Authenticator Filter
/profiles/profile{id, type}/settings/authentication-service/authenticator-filters/authenticator-filter{id}/cidr
The CIDR specifying the IP addresses and routing prefixes for which this filter should be applied.
Apply the exclusions when the cidr matches the IP. If this is set to false, then the exclusions are applied when the cidr fails to match. A common use-case for setting this to false would be to remove certain authenticators when the client is not on the internal network
cidr/exclusions
List of authenticators to exclude.
geo-country
Geolocation Country Authenticator Filter
/profiles/profile{id, type}/settings/authentication-service/authenticator-filters/authenticator-filter{id}/geo-country
Apply the exclusions when the country request comes matches any in the list. If this is set to false, then the exclusions are applied when the country fails to match. A common use-case for setting this to false would be to remove certain authenticators when the request comes from a country that is not in the list.
geo-country/exclusions
user-agent
User-Agent Authenticator Filter
This filter is applied only if the request’s User-Agent matches this regex.
user-agent/exclusions
script-filter
Script Authenticator Filter
leafref /base:processing/base:procedures/base:filter-procedure/base:id
/base:processing/base:procedures/base:filter-procedure/base:id
A reference to an existing authenticator-filter-procedure.
settings/user-management-service
/profiles/profile{id, type}/settings/user-management-service
The authorization manager to authorize access to the REST API
Allows updating the username of an existing account. When set to true, usernames can be updated in the account manager. When a credential manager is configured, it is also updated with the new username, keeping both data sources in sync. When set to false username updates are rejected.
Data source where delegations are stored
(default: 500)
The max number of results to return in a single search response. Set to 0 to allow unlimited number of results.
Enable dynamic clients to be included in the account response in GraphQL.
settings/user-management-service/api-authentication
/profiles/profile{id, type}/settings/user-management-service/api-authentication
The realm to use when reporting an unauthenticated request in a HTTP-response. When no value is configured, the id of the user-management profile is used as realm.
The OAuth profile that is used to provide application access to the user-management endpoints.
param user-account-data-source: leafref /base:facilities/base:data-sources/base:data-source/base:id (mandatory) Data source to be used for user accounts. param devices-data-source: leafref /base:facilities/base:data-sources/base:data-source/base:id (optional) Data source to be used for devices.
Data source to be used for user accounts.
Data source to be used for devices.
param account-manager: leafref /base:processing/base:account-managers/base:account-manager/base:id (mandatory) The account manager with the accounts managed by this profile
The account manager with the accounts managed by this profile
settings/user-management-service/attribute-data-sources{id} (keys ['id'])
/profiles/profile{id, type}/settings/user-management-service/attribute-data-sources{id}
The resourceType provided by this data-source. The concept of a resource-type is borrowed from the SCIM specification (see https://tools.ietf.org/html/rfc7643#section-6) and refers to the name of the resource (eg. Group). Currently, resource-types are not mapped to SCIM endpoints and the resources they refer to may only be retrieved via the Users endpoint
The namespace associated with the resources provided by this data-source. If not specified, the following value will be used: urn:se.curity:scim:2.0:resourceType (where resourceType is the configured resourceType value).
settings/user-management-service/credential-management
/profiles/profile{id, type}/settings/user-management-service/credential-management
The credential manager to use for password updates. Notice that if a password is provided during account creation, a credential manager is required. If no credential manager is configured and a client tries to update a password, an error will occur.
validation-procedure to use to validate user passwords on updates.
settings/user-management-service/graphql-schema
settings/user-management-service/graphql-schema/additional-account-attribute{name} (keys ['name'])
/profiles/profile{id, type}/settings/user-management-service/graphql-schema/additional-account-attribute{name}
Name of a custom attribute
enumeration String, Boolean, Long, Object
String, Boolean, Long, Object
Data type of a custom attribute
authorization-server
The Authorization Server is a full OAuth 2.0 server with OpenID Connect support. It can issue tokens using the token issuer subsystem together with Token Procedures
/profiles/profile{id, type}/settings/authorization-server
Defines if refresh tokens are created on every refresh or if they are kept
Revoke delegation when public client attempts to reuse refresh token
Override the issuer for tokens issued by this authorization server. Setting this value instead of using the derived value for issuer, can break the standard discovery specification and should therefore only be used in exceptional circumstances, i.e. backwards compatibility or to integrate with existing environments where the derived issuer can not be used.
The (default) account manager to use for user attribute lookups
An absolute URL that refers to the privacy policy of the Authorization Server
An absolute URL that refers to the terms of service that users must accept when using any client configured in the profile
The published URL of the documentation that describes to developers how to use the service
If set, then all authorization responses need to be protected according to the ‘JWT Secured Authorization Response Mode for OAuth 2.0’ (JARM) specification
database-client
Enables the Database Clients feature.
Reference to data source that can store OAuth clients.
database-client/client-tags
Tags that may be used by Database Clients for classification purposes.
database-client/client-tags/client-tag{tag} (keys ['tag'])
/profiles/profile{id, type}/settings/authorization-server/database-client/client-tags/client-tag{tag}
The name of the tag
Description of the tag
client-authentication
The methods by which an OAuth client may be authenticated
/profiles/profile{id, type}/settings/authorization-server/client-authentication
Basic authentication and form post. This is enabled by default.
Allow a client to not authenticate to the token endpoint. Selecting this authentication method for a client makes it a public client, as defined by OAuth.
client-authentication/asymmetrically-signed-jwt
Allowed asymmetric signing algorithms for JWT’s
The signature algorithms to allow
client-authentication/symmetrically-signed-jwt
Allowed symmetric signing algorithms for JWT’s
client-authentication/using-jwt
Settings for introspection of client signed JWT’s. Should not normally need to be changed from the defaults
/profiles/profile{id, type}/settings/authorization-server/client-authentication/using-jwt
Whether the ‘jti’ (JWT ID) claim should be checked for uniqueness in provided client assertion JWT’s
(default: 10)
The number of seconds that token lifetimes and issue times should be skewed to accommodate for clocks that may be out of sync
client-authentication/mutual-tls
Configure settings to allow client authentication through using mutual-tls
client-authentication/mutual-tls/by-proxy
Allow mutual TLS to be terminated in a proxy instead of directly within the identity server
/profiles/profile{id, type}/settings/authorization-server/client-authentication/mutual-tls/by-proxy
User ID credential that the proxy uses to authenticate using HTTP Basic authentication through a Proxy-Authorization header.
Password credential that the proxy uses to authenticate using HTTP Basic authentication through a Proxy-Authorization header.
Name of the HTTP header that the proxy uses to include the PEM- or base64-encoded DER representation of the client certificate in the forwarded request. Must be set for mutual-tls by-proxy to work.
request-object
The settings for allowing a request to be provided through a by-value or by-reference request object. By-value request objects are passed using the ‘request’ parameter whereas by-reference ones are provided in the ‘request-uri’ parameter. When enabled, a client can be required to provide a request object JWT. Additional restrictions per the relevant specifications are applied when used at the CIBA and PAR endpoints.
/profiles/profile{id, type}/settings/authorization-server/request-object
int16
The maximum number of minutes (from the ‘nbf’ claims to the ‘exp’ claim) that a request object should be valid for
DEPRECATED: If enabled, all authorization request parameters must be inside the request object, as claims, with the exception of request and request_uri. If a parameter is also present in the query string or form then it needs to have the same value as the claim inside the request object.
enumeration merge-outside-parameters-preferring-inside, ignore-outside-parameters, error-if-outside-parameters, must-be-inside-and-match-if-outside
merge-outside-parameters-preferring-inside, ignore-outside-parameters, error-if-outside-parameters, must-be-inside-and-match-if-outside
How claims in request objects and (form or query string) parameters are combined
request-object/encrypted-jwt
The request object JWT must be encrypted and signed
/profiles/profile{id, type}/settings/authorization-server/request-object/encrypted-jwt
Whether encrypted request objects should only be required for front-channel requests to the authorization endpoint. When enabled, request objects must be encrypted for front-channel requests, and may or may not be encrypted for back-channel requests. When disabled, request objects must always be encrypted.
Indicate whether to include the certificate thumbprint (‘x5t’) in the JWKS endpoint
Indicate whether to include the certificate (‘x5c’) in the JWKS endpoint
request-object/asymmetrically-signed-jwt
Allowed asymmetric signing algorithms for request object JWTs
/profiles/profile{id, type}/settings/authorization-server/request-object/asymmetrically-signed-jwt
enumeration RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA, none
RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA, none
The list of claims that must be inside the request object.
authentication-service
/profiles/profile{id, type}/settings/authorization-server/authentication-service
client-capabilities
This section defines what a client may do when communicating with the OAuth server
client-capabilities/code
/profiles/profile{id, type}/settings/authorization-server/client-capabilities/code
token-time-to-live
The number of seconds an authorization code will be valid
When enabled, all clients can enable per-request redirect-uri’s when using pushed authorization requests. This option can not be used together with redirect-uri-validation-policies. In order to use redirect-uri-validation-policies, this option to allow-per-request-redirect-uris must be disabled. This setting is deprecated in favour of redirect-uri-validation-policies.
enumeration plain, S256
plain, S256
A list of proof key challenge methods the clients aren’t allowed to use. Useful when one of the methods provided by the server is deemed insecure. This setting affects all the clients. Clients can have additional methods disallowed in their settings.
client-capabilities/code/require-pushed-authorization-requests
Require all clients in this profile to use pushed authorization requests to initiate the code flow.
client-capabilities/implicit
client-capabilities/resource-owner-password-credentials
The credential manager to use when authenticating the user using Resource Owner Password Credentials
client-capabilities/client-credentials
client-capabilities/introspection
client-capabilities/token-exchange
client-capabilities/oauth-token-exchange
client-capabilities/assisted-token
/profiles/profile{id, type}/settings/authorization-server/client-capabilities/assisted-token
When set, the issued token is stored in a secure cookie in the user-agent; and is thereafter re-issued on subsequent requests
When set, the token storage cookie name is prefixed with the defined value. The cookie name will always be collision free over profiles and clients.This value will get URL-encoded, to enforce a valid cookie name.
client-capabilities/backchannel-authentication
/profiles/profile{id, type}/settings/authorization-server/client-capabilities/backchannel-authentication
(default: 900)
The number of seconds the backchannel authentication requests will be valid
Enables mandatory signed request object in backchannel authentication request
(default: 10000)
The maximum length allowed for binding_message.
client-capabilities/device-authorization
/profiles/profile{id, type}/settings/authorization-server/client-capabilities/device-authorization
The number of seconds interval between polling attempts for clients
The number of seconds an issued user and device code will be valid
When enabled, a QR-code is generated and returned with a user and device code
When set, the alias will be used as verification-url where the user should go to verify its user code. If not set, the verification-url is derived from the profile’s base-url settings.
client-capabilities/assertion
Allow client to use the assertion grant on the token endpoint.
client-capabilities/assertion/asymmetrically-signed-jwt
Allowed asymmetric signing algorithms for JWT assertions
enumeration RS256, RS384, RS512, PS256, PS384, PS512
RS256, RS384, RS512, PS256, PS384, PS512
client-capabilities/assertion/symmetrically-signed-jwt
Allowed symmetric signing algorithms for JWT assertions
scopes
/profiles/profile{id, type}/settings/authorization-server/scopes
The shortest time an access token will be valid for
The default scope (the empty scope) is described with this description
scopes/scope{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/scopes/scope{id}
Whether this is a prefix scope. Prefix scopes allow clients to use dynamic scopes that start with a prefix, but may have any value after that.
The number of seconds a scope will be valid
Whether the scope is required in the request (but not necessarily granted) when configured for any client in the profile or during registration of a non-templatized dynamic clients when all scopes or this scope in particular is allowed to be registered by dynamic clients.
Expose this scope as part of the published metadata.
leafref ../../../claims/claim/name
../../../claims/claim/name
The claims that are issued when the client is granted this scope of access
scopes/scope{id}/properties
scopes/scope{id}/properties/property{key} (keys ['key'])
/profiles/profile{id, type}/settings/authorization-server/scopes/scope{id}/properties/property{key}
leafref ../../claims/claim/name
../../claims/claim/name
The claims that are issued for the default scope (empty scope)
claims
/profiles/profile{id, type}/settings/authorization-server/claims
When this is set to true, all the system claims will be exposed in the metadata.
uint8
(default: 5)
Maximum total time allowed for all claims providers to return claims. Depending on the claims provider used and their implementation, it may not be possible to cancel their operation in order to fulfill this timeout.
claims/claim{name} (keys ['name'])
The list of claims available in the profile
/profiles/profile{id, type}/settings/authorization-server/claims/claim{name}
The name of the claim
A user-friendly description. Can be presented to the user during consent
Whether the claim is required in the request (but not necessarily granted) when configured for any client in the profile or during registration of a non-templatized dynamic client.
If this claim should be exposed in the metadata
param no-source: empty (optional) The no-source provides no attributes. If selected, a transformation procedure (generator) must be used to establish the claim’s value. param value-provided-by: leafref ../../claims-value-provider/id (optional) The claims-value-provider that provides the attribute or attributes that estabilish the value for the claim. param reference-claim: leafref ../../claim/name (optional) Name of another claim that is the source for the value of this claim.
The no-source provides no attributes. If selected, a transformation procedure (generator) must be used to establish the claim’s value.
leafref ../../claims-value-provider/id
../../claims-value-provider/id
The claims-value-provider that provides the attribute or attributes that estabilish the value for the claim.
leafref ../../claim/name
../../claim/name
Name of another claim that is the source for the value of this claim.
claims/claim{name}/composite-claim
Defines one or more other claims that are issued in a container, or can be transformed into a new scalar, list or object value.
leafref ../../../claim/name
../../../claim/name
Name of another claim that is to be included in the composite claim.
claims/claim{name}/transformation
A transformation from the raw data to the claim name and value
/profiles/profile{id, type}/settings/authorization-server/claims/claim{name}/transformation
A value mapping procedure for this claim.
The input attributes to map. In case the claim’s value is provided by a referenced claim, input-attribute-names are implicitly set to be the one name of that referenced claim.
claims/claims-value-provider{id} (keys ['id'])
The claim value sources. These lookup attributes based on the given claims
The name of the claim value provider
claims/claims-value-provider{id}/data-source-claims-provider
claims/claims-value-provider{id}/data-source-claims-provider/data-source
claims/claims-value-provider{id}/system-information-claims-provider
claims/claims-value-provider{id}/admin-groups-claims-provider
claims/claims-value-provider{id}/authentication-context-claims-provider
claims/claims-value-provider{id}/consent-claims-provider
claims/claims-value-provider{id}/client-certificate-claims-provider
claims/claims-value-provider{id}/authentication-subject-claims-provider
claims/claims-value-provider{id}/account-manager-claims-provider
/profiles/profile{id, type}/settings/authorization-server/claims/claims-value-provider{id}/account-manager-claims-provider
Whether an account’s attributes should be mapped to OpenID Connect claims
While this is turned off, the claims provider will not resolve any claims if the account is inactive.
claims/claims-value-provider{id}/account-manager-claims-provider/account-manager
claims/claims-value-provider{id}/script-claims-provider
The id used to identify a procedure
claims/claims-value-provider{id}/script-claims-provider/account-manager
claims/claims-value-provider{id}/script-claims-provider/bucket
claims/claims-value-provider{id}/script-claims-provider/data-source
claims/claims-value-provider{id}/script-claims-provider/webservice
/profiles/profile{id, type}/settings/authorization-server/claims/claims-value-provider{id}/script-claims-provider/webservice
claims/claims-mappers
The mapping to what token or response the claim is used. A claim that is not mapped will not be issued.
leafref ../claims-mapper/id
../claims-mapper/id
The default claims mapper to use when adding claims to tokens if not defined otherwise in the client.
claims/claims-mappers/claims-mapper{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}
The name of the mapper
A description for the administrator
claims/claims-mappers/claims-mapper{id}/access_token
The claims that go into the default access tokens. This will be the result of the getDefaultAccessTokenData() function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/access_token
leafref ../../../../claim/name
../../../../claim/name
system-access-token-claim-name aud, client_id, delegationId, exp, iat, iss, nbf, scope, sub, purpose, cnf, jti, dcrm_client, authorization_details
system-access-token-claim-name
aud, client_id, delegationId, exp, iat, iss, nbf, scope, sub, purpose, cnf, jti, dcrm_client, authorization_details
(multi-value) (default: aud)
The claims that always will exist on an access token. Not editable
claims/claims-mappers/claims-mapper{id}/id_token
The claims that go into the default id tokens. This will be the result of the getDefaultIdTokenData() function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/id_token
system-id-token-claim-name iss, sub, aud, exp, iat, auth_time, nonce, acr, amr, azp, nbf, client_id, delegationId, purpose
system-id-token-claim-name
iss, sub, aud, exp, iat, auth_time, nonce, acr, amr, azp, nbf, client_id, delegationId, purpose
(multi-value) (default: iss)
The claims that always will exist on an ID token. Not editable
claims/claims-mappers/claims-mapper{id}/userinfo
The claims that go into the default user info response. This will be the result of the getDefaultResponseData() function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/userinfo
(multi-value) (default: sub)
claims/claims-mappers/claims-mapper{id}/wrapper-token
The claims that go into JWT tokens that wrap opaque tokens.This is used by opaque token issuers that are configured to return a wrapper JWT instead of an opaque reference as the token artifact.Adding a claim here does not include it in the wrapped token’s data available via introspection.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/wrapper-token
system-wrapper-token-claim-name iss, iat, exp, azp, jti, aud
system-wrapper-token-claim-name
iss, iat, exp, azp, jti, aud
The claims that always will exist on a wrapper JWT token. Not editable
claims/claims-mappers/claims-mapper{id}/custom{id} (keys ['id'])
The claims that go into custom tokens. This will be the result of the get default data functions such as getDefaultData(‘idOfCustomTokenMapping’) function.
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/custom{id}
The id of the mapping. Used as key to the getDefaultData functions
enumeration access_token, access-token, id_token, id-token, userinfo, user-info, verifiable-credential
access_token, access-token, id_token, id-token, userinfo, user-info, verifiable-credential
(default: access_token)
The list of claims for this mapping
claims/claims-mappers/claims-mapper{id}/selective-disclosure
defines the selective disclosure, that is, which top-level claims and inner properties should be selectively discloseable
claims/claims-mappers/claims-mapper{id}/selective-disclosure/claim{name} (keys ['name'])
a claim that should be selectively discloseable
/profiles/profile{id, type}/settings/authorization-server/claims/claims-mappers/claims-mapper{id}/selective-disclosure/claim{name}
leafref ../../../../../claim/name
../../../../../claim/name
the claim name
only claim properties should be selectively discloseable and not the whole claim
the path to a nested property that should be selectively discloseablewhere each path segment is separated by a ‘/’
expose-metadata
OAuth metadata endpoint configuration
/profiles/profile{id, type}/settings/authorization-server/expose-metadata
An optional value that must contain the full URL to the JWKS endpoint. If this is not set, the URL is established by deriving it from the first anonymous endpoint
(default: 600)
The number of seconds that the metadata can be cached as network resource, as used in HTTP response headers.
expose-metadata/authorize-endpoint
The authorize-endpoint to include in the published OAuth configuration metadata. This is required when more than one authorize-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/authorize-endpoint
leafref ../../../../../base:endpoints/base:endpoint/base:id
../../../../../base:endpoints/base:endpoint/base:id
The endpoint ID
The external base URL to report for this endpoint
expose-metadata/token-endpoint
The token-endpoint to include in the published OAuth configuration metadata. This is required when more than one token-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/token-endpoint
expose-metadata/revocation-endpoint
The revocation-endpoint to include in the published OAuth configuration metadata. This is required when more than one revocation-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/revocation-endpoint
expose-metadata/introspection-endpoint
The introspection-endpoint to include in the published OAuth configuration metadata. This is required when more than one introspection-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/introspection-endpoint
expose-metadata/assisted-token-endpoint
The assisted-token-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one assisted-token-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/assisted-token-endpoint
expose-metadata/dynamic-client-registration-endpoint
The dynamic client registration endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one dynamic-client-registration endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/dynamic-client-registration-endpoint
expose-metadata/device-authorization-endpoint
The device authorization endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one device authorization endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/expose-metadata/device-authorization-endpoint
expose-metadata/signed-metadata
When present, a signed version of the metadata will be included in the response. The metadata will be included as a JWT, as issued by the default token-issuer of the current profile.
(default: 40320)
The number of minutes that the signed metadata JWT can be used before it expires, as used in the JWT’s ‘exp’ claim
openid-connect
/profiles/profile{id, type}/settings/authorization-server/openid-connect
The number of seconds an id token will be valid. Can be overruled by individual client configuration.
When set, any claim that is not defined by the OpenID Connect specification, but is added by a procedure, is not removed by scope filtering.
openid-connect/expose-metadata
This section specifies what metadata is exposed on the OpenID Connect discovery endpoint for this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata
An optional value that must contain the full URL to the JWKS endpoint. If this is not set, the URL is established by deriving it from the first anonymous endpoint.
openid-connect/expose-metadata/authorize-endpoint
The authorize-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one authorize-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/authorize-endpoint
leafref ../../../../../../base:endpoints/base:endpoint/base:id
../../../../../../base:endpoints/base:endpoint/base:id
openid-connect/expose-metadata/token-endpoint
The token-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one token-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/token-endpoint
openid-connect/expose-metadata/userinfo-endpoint
The userinfo-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one userinfo-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/userinfo-endpoint
openid-connect/expose-metadata/revocation-endpoint
The revocation-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one revocation-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/revocation-endpoint
openid-connect/expose-metadata/introspection-endpoint
The introspection-endpoint to include in the published OpenID Connect configuration metadata. This is required when more than one introspection-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/introspection-endpoint
openid-connect/expose-metadata/assisted-token-endpoint
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/assisted-token-endpoint
openid-connect/expose-metadata/dynamic-client-registration-endpoint
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/dynamic-client-registration-endpoint
openid-connect/expose-metadata/device-authorization-endpoint
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/device-authorization-endpoint
openid-connect/expose-metadata/backchannel-authentication-endpoint
The backchannel authentication endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one backchannel authentication endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/backchannel-authentication-endpoint
openid-connect/expose-metadata/session-endpoint
The session endpoint to include in the published OpenID Connect configuration metadata.This is required when more than one session endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/expose-metadata/session-endpoint
openid-connect/expose-metadata/signed-metadata
openid-connect/require-pairwise-subject-identifiers
Set when clients on this profile must always be issued pairwise pseudonyms for authenticated subjects
openid-connect/id-token-encryption
Enables the use of issuing encrypted ID tokens.
/profiles/profile{id, type}/settings/authorization-server/openid-connect/id-token-encryption
allowed-asymmetric-key-management-algorithms RSA1_5, RSA-OAEP, RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW
allowed-asymmetric-key-management-algorithms
RSA1_5, RSA-OAEP, RSA-OAEP-256, ECDH-ES, ECDH-ES+A128KW, ECDH-ES+A192KW, ECDH-ES+A256KW
The whitelist of allowed key-management encryption algorithms. If nothing is selected, all are allowed.
The whitelist of allowed content encryption algorithms. If nothing is selected, all are allowed.
token-procedure-plugins
token-procedure-plugins/token-procedure-plugin{id} (keys ['id'])
Token procedure plugins that issue tokens
token-procedure-plugins/token-procedure-plugin{id}/upscope
/profiles/profile{id, type}/settings/authorization-server/token-procedure-plugins/token-procedure-plugin{id}/upscope
Replace all the scopes in the new token with the scopes added by this procedure, if false, the new scopes are appended to the existing scopes instead
leafref ../../../../as:scopes/as:scope/as:id
../../../../as:scopes/as:scope/as:id
The scopes required in the subject token to perform the upscope, if empty no scopes are required
The scopes required in the actor token to perform the upscope, if empty no actor token scopes are required
The scopes to add to the returned token
consentors
consentors/consentor{id} (keys ['id'])
The list of available consentors for the profile
/profiles/profile{id, type}/settings/authorization-server/consentors/consentor{id}
The consentor name
A readable consentor description, for user presentation. Can be a locale key.
consentors/consentor{id}/signing-consentor
A signing token consentor
/profiles/profile{id, type}/settings/authorization-server/consentors/consentor{id}/signing-consentor
leafref /base:profiles/base:profile[base:id=current()/../../../../../../base:id][base:type=current()/../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
/base:profiles/base:profile[base:id=current()/../../../../../../base:id][base:type=current()/../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
The token issuer used to sign the JWT that is signed by the consentor
The JavaScript procedure to compute the text to display.
consentors/consentor{id}/signing-consentor/webservice
Enable and configure this if the procedure needs access to a web service in its context.
/profiles/profile{id, type}/settings/authorization-server/consentors/consentor{id}/signing-consentor/webservice
consentors/consentor{id}/signing-consentor/attribute-data-source
Enable and configure this if the procedure needs access an attribute data source in its context.
redirect-uri-validation-policies
Configuration settings for allowing different validation methods for redirect uri’s.
leafref ../redirect-uri-validation-policy/id
../redirect-uri-validation-policy/id
The default redirect-uri validation policy to use for the profile. If not set, redirect-uri’s are validated as exact match.
redirect-uri-validation-policies/redirect-uri-validation-policy{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/redirect-uri-validation-policies/redirect-uri-validation-policy{id}
The name of the redirect-uri-validation-policy
A human readable name of the redirect uri validation policy.
redirect-uri-validation-policies/redirect-uri-validation-policy{id}/request-validation
Configure how a redirect_uri is validated when it is being used in a request.
/profiles/profile{id, type}/settings/authorization-server/redirect-uri-validation-policies/redirect-uri-validation-policy{id}/request-validation
Disable all validations when the URI is localhost, such as port, path etc
Allow the query string of the redirect_uri to be different per request
redirect-uri-validation-policies/redirect-uri-validation-policy{id}/request-validation/authenticated-authorization-requests
Configure how a redirect_uri is validated when it is received as part of a request where the client was authenticated, e.g. when it is a PAR or CIBA request.
/profiles/profile{id, type}/settings/authorization-server/redirect-uri-validation-policies/redirect-uri-validation-policy{id}/request-validation/authenticated-authorization-requests
Consider the port in the URL when comparing the registered URI with the requested redirect_uri
Validate the path part of the URI to match exactly the registered path
Allow the registered path to be appended with suffix path parts per request
Validate the querystring to match (dynamic clients) or start with the configured querystring (static clients). If disabled, any querystring value is acceptable.
enumeration exact, tld-plus-one, tld-plus-two, no-validation
exact, tld-plus-one, tld-plus-two, no-validation
(default: exact)
Validation on the domain parts of the URI
redirect-uri-validation-policies/redirect-uri-validation-policy{id}/registration-validation
Configure how a redirect_uri is validated when it is being used in a registration request.
Allow a client to register a non-TLS http redirect_uri
client-store
client-store/config-backed
client-store/config-backed/client{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}
The client ID corresponding to the spec
A human readable name of the client
A human readable description of the client
A logo of the client, that can shown in user interface templates.
This URL is used if a request is made to the OAuth server without the parameters necessary to initiate authentication. In such a case, the user is redirected to this URL, so that a new, properly formed, request can be made to bootstrap a new authentication transaction.
A settable state of the client, to be able to host disabled clients
date-and-time
An operational state, for history purpose
Describes who was the user that created the client.
The number of seconds an access token will be valid
disablable-token-time-to-live
The number of seconds a refresh token will be valid. If set to ‘disabled’, no refresh tokens will be issued
When set, the refresh-token-ttl is used to set the expiration of new refresh tokens, until this max value is reached.
The number of seconds an id token will be valid. If not set, the profile-setting is used.
leafref ../../../../claims/claims-mappers/claims-mapper/id
../../../../claims/claims-mappers/claims-mapper/id
The mapper to use when adding claims to tokens. The mapper decides what claims end up in which token or response. The claims themselves are defined in the scope. If not set, the default-mapper is used
An absolute URL that refers to the privacy policy for the client
An absolute URL that refers to the terms of service of the client
Whether the port should be validated when a client is configured to redirect to the loopback interface. Defaults to true for backwards compatibility. Future versions may default to false because RFC-8252 (sec. 3) says the port should not be validated and this does not generally reduces the security of local redirects. This option can not be set when the profile enables redirect-uri validation policies. This setting is deprecated in favour of redirect-uri-validation-policies.
leafref ../../../../redirect-uri-validation-policies/redirect-uri-validation-policy/id
../../../../redirect-uri-validation-policies/redirect-uri-validation-policy/id
The redirect uri validation policy to use for this client. This value overrides the profile’s setting for the default redirect uri validation policy.
Defines if refresh tokens are created on every refresh or if they are kept, when set this takes precedence over profile setting (reuse-refresh-tokens), when not set profile setting applies
Describes how the client is authenticated param secret:sha-256-digest-string (optional) A password used by the client param asymmetric-key: leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id (optional) A public key that corresponds to the private key the client will use to sign a token with to authenticate itself param jwks:non-empty-string (optional) A JWKS providing keys that can be used to verify JWT assertions. The JSON String should be base64-encoded.
Describes how the client is authenticated
sha-256-digest-string
A password used by the client
A public key that corresponds to the private key the client will use to sign a token with to authenticate itself
A JWKS providing keys that can be used to verify JWT assertions. The JSON String should be base64-encoded.
client-store/config-backed/client{id}/jwks-uri
A key present in a JWKS referenced by an URI, accessed via an optional HTTP client ID
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/jwks-uri
The JWKS URI
The optional HTTP client used to retrieve the JWKS
A secret key that the client will use to sign or integrity protect a token with to authenticate itself
client-store/config-backed/client{id}/mutual-tls-by-proxy
Enable client authentication through mutual-tls by-proxy.
param client-dn: non-empty-string (optional) The DN of the client certificate that the client must identify with. param client-dns-name: non-empty-string (optional) The expected dNSName SAN entry in the certificate that the client must identify with. param client-uri: uri (optional) The expected uniformResourceIdentifier SAN entry in the certificate that the client must identify with. param client-ip: ip-address (optional) The expected IP address in either dotted decimal notation (for IPv4) or colon-delimited hexadecimal (for IPv6) that is expected to be present as an iPAddress SAN entry in the certificate that the client must identify with. param client-email: non-empty-string (optional) The expected rfc822Name SAN entry in the certificate that the client must identify with. param trusted-ca: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (multi-value) (optional) The CAs that must be the issuer of the client certificate that can be accepted to authenticate this client. At least one must be set.
The DN of the client certificate that the client must identify with.
The expected dNSName SAN entry in the certificate that the client must identify with.
The expected uniformResourceIdentifier SAN entry in the certificate that the client must identify with.
The expected IP address in either dotted decimal notation (for IPv4) or colon-delimited hexadecimal (for IPv6) that is expected to be present as an iPAddress SAN entry in the certificate that the client must identify with.
The expected rfc822Name SAN entry in the certificate that the client must identify with.
leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id
/base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id
The CAs that must be the issuer of the client certificate that can be accepted to authenticate this client. At least one must be set.
param client-certificate: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (optional) The client certificate that must be used to authenticate the client.
The client certificate that must be used to authenticate the client.
client-store/config-backed/client{id}/mutual-tls
Enable client authentication through direct mutual-tls
param client-certificate: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (optional) The client certificate that must be used to authenticate the client. param no-authentication: boolean (default: false) When no-authentication is selected, the client is a public client. Can only be used for clients that requests tokens, and only makes sense if they use the token endpoint (i.e. use the code flow). param credential-manager: leafref /base:processing/base:credential-managers/base:credential-manager/base:id (optional) The Credential Manager to use to transform the client secret. For configured clients, this credential manager is also used to retrieve the client secret from the configured data source on the credential manager
When no-authentication is selected, the client is a public client. Can only be used for clients that requests tokens, and only makes sense if they use the token endpoint (i.e. use the code flow).
The Credential Manager to use to transform the client secret. For configured clients, this credential manager is also used to retrieve the client secret from the configured data source on the credential manager
client-store/config-backed/client{id}/secondary-authentication-method
The instant after which the secondary verifier should not be used
client-store/config-backed/client{id}/secondary-authentication-method/jwks-uri
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/secondary-authentication-method/jwks-uri
client-store/config-backed/client{id}/secondary-authentication-method/mutual-tls-by-proxy
client-store/config-backed/client{id}/secondary-authentication-method/mutual-tls
client-store/config-backed/client{id}/request-object
Enable request-object support where the client can send in a JWT with the request parameters. If enabled, a request object JWT MUST be provided by the client.
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/request-object
The issuer of the request object’s JWT. If the issuer is not explicitly set, it must be the same value as the client_id of the client that makes the request.
A public key that corresponds to the private key that the issuer of the request object JWT used to sign the JWT
If set to true, then unsigned request objects sent by-value will be accepted.
client-store/config-backed/client{id}/request-object/by-reference
Enable the use of request object that are sent by-reference using the request_uri parameter
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/request-object/by-reference
The HTTP client that will be used when fetching the request object from a provided URI
If set to true, then unsigned request objects sent by-reference will be accepted.
Whitelist of all locations that can be included in a request_uri parameter. The value ‘*’ allows for any. A wildcard character ‘*’ is also allowed at the end of the uri value.
The whitelist of Redirect URIs allowed for the client. If code or Implicit flow is used, this will have a required minimum of 1 items
client-store/config-backed/client{id}/user-consent
When set, the user is asked to accept the delegation via a consent screen. This applies to all interactive flows (i.e. code, implicit, assisted token and device authorization flow)
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/user-consent
When enabled, the user is allowed to deselect optional scopes or claims when asked for consent.
When enabled, the built-in consent screen will not be shown and only the consentors will run.
client-store/config-backed/client{id}/user-consent/consentors
The consentors usable with this client. If empty, then all profile consentors will be usable
leafref ../../../../../../consentors/consentor/id
../../../../../../consentors/consentor/id
client-store/config-backed/client{id}/proof-key
Proof Key for Code Exchange (RFC 7636 - PKCE) is a measure for preventing authorization code interception. This is an attack on client systems that allow a malicious application to register itself as a handler for the custom scheme utilized by the legitimate app in the Authorization Code Grant flow.
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/proof-key
Enforces this client to provide a proof key challenge and -verifier when performing the Authorization Code Grant flow.
A list of proof key challenge methods the client isn’t allowed to use. Useful when one of the methods provided by the server is deemed insecure for the intended client. This setting would be merged with profile level setting. For example, if profile disallowed plain and client disallowed S256, then both methods are disallowed
The intended audiences for the token. The first element is the default. If none are stipulated, the ID of the client will be used as the audience
leafref ../../../../scopes/scope/id
../../../../scopes/scope/id
A subset of the scopes defined in the profile that this client is allowed to request or all if a subset are not defined here
client-store/config-backed/client{id}/user-authentication
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/user-authentication
Information that will be displayed to the user when authenticating the client
Optional default setting whether user authentication is forced at all times.
Optional maximum age in seconds after which re-authentication must take place.
Optional override for default locale.
Optional uri of the client that is called upon user logout when attempting front channel logout. Requires OpenId Connect to be enabled.
Optional uri of the client that is called upon user logout when attempting back channel logout. Requires OpenId Connect to be enabled.
The HTTP client that will be used when delivering the logout token to the backchannel logout uri
leafref /base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
/base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
The list of allowed authenticators for this client
leafref /base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
/base:profiles/base:profile[base:id=current()/../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
The list of authenticator-filters for this client
A list of named claims that must be required by the authenticator when authenticating the user.
The optional list of URIs that is allowed for the client to use as post logout redirect uri. Requires OpenId Connect to be enabled.
The optional list of URIs or URI-patterns that is allowed to embed the rendered pages inside an iframe, be a trusted source or be used for CORS.
client-store/config-backed/client{id}/capabilities
OAuth capabilities that this client is allowed to perform
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/capabilities
Allows implicit flow
Allows for the Client Credentials Grant
Allows the client to use token introspection
The assisted-token capability allows the client to use a helper endpoint to use simplified OAuth flows.
Allows the client to use exchange tokens for other tokens
Allows the client to exchange tokens using the OAuth 2.0 Token Exchange grant
Allows the client to use the device flow
client-store/config-backed/client{id}/capabilities/code
Allows code flow
client-store/config-backed/client{id}/capabilities/code/require-pushed-authorization-requests
The client is required to use Pushed Authorization Requests when starting a code flow.
When enabled, the client can use per-request redirect-uri’s when using pushed authorization requests. Defaults to false.This setting is deprecated in favour of redirect-uri-validation-policies.
client-store/config-backed/client{id}/capabilities/resource-owner-password-credentials
Allows ROPC grant-type
The optional credential manager to use when authenticating the user using Resource Owner Password Credentials
client-store/config-backed/client{id}/capabilities/backchannel-authentication
Allows the client to perform backchannel authentication
leafref /base:profiles/base:profile[base:id=current()/../../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:backchannel-authenticator/auth:id
/base:profiles/base:profile[base:id=current()/../../../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:backchannel-authenticator/auth:id
A list of backchannel enabled authenticators that the client is allowed to use. Should be a subset of backchannel authenticators from the linked authentication profile. If nothing is set, all backchannel-authenticators from the linked authentication profile will be available for this client to use.
client-store/config-backed/client{id}/capabilities/assertion
Allows the client to use JWT assertions as grant
client-store/config-backed/client{id}/capabilities/assertion/jwt
Configure the assertion grant for JWT assertions.
Allow a client to reuse the same JWT assertion to make multiple token requests.
client-store/config-backed/client{id}/capabilities/assertion/jwt/trust
When set, a JWT that is used as assertion must have an issuer claim that matches the configured value.
param asymmetric-signing-key: leafref /base:facilities/base:crypto/base:signature-verification-keys/base:signature-verification-key/base:id (optional) A public key that corresponds to the private key that the issuer of the assertion used to sign the JWT
A public key that corresponds to the private key that the issuer of the assertion used to sign the JWT
client-store/config-backed/client{id}/capabilities/assertion/jwt/trust/jwks-uri
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/capabilities/assertion/jwt/trust/jwks-uri
A JWKS providing a key that can be used to sign JWTs. The JSON String should be base64-encoded.
client-store/config-backed/client{id}/capabilities/haapi
Allows the client to use the hypermedia authentication API
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/capabilities/haapi
When enabled, a HAAPI token can be issued to clients based on client authentication instead of based on client attestation. To set this option, a client must have credentials and can not be configured with attestation settings.
Use an older version of the DPoP processing, which is not nonce-based. This may be required if the client uses an older version of the HAAPI SDK. Refer to the HAAPI SDK documentation for details.
When enabled, the authorization code and refresh token that are issued will be bound to the proof token’s DPoP key. This token binding will not be compatible with legacy DPoP. By default, it is disabled.
client-store/config-backed/client{id}/dynamic-client-registration-template
Enable client as template for Dynamic Client Registration
How the dynamically registered client based on this template can authenticate. Default is secret
param secret:empty (optional) param credential-manager: leafref /base:processing/base:credential-managers/base:credential-manager/base:id (optional) The credential manager that should be used to verify and manage templatized dynamic clients’ secrets. Note that the data source on the credential manager (if configured) is not used. Only the transformation algorithm. The secret is stored with the client metadata in the dynamic client registration data source.
The credential manager that should be used to verify and manage templatized dynamic clients’ secrets. Note that the data source on the credential manager (if configured) is not used. Only the transformation algorithm. The secret is stored with the client metadata in the dynamic client registration data source.
param authenticate-user-by: leafref ../../../client/id (multi-value) (optional) Reference to other OAuth clients in the profile that may be used to authenticate the user and obtain the initial access token necessary for a new client to register based on this client as a template. param authenticate-client-by: leafref ../../../client/id (multi-value) (optional) Reference to other OAuth clients in the profile that may be used to authenticate using client-credentials to obtain the initial access token necessary for a new client to register based on this client as a template
leafref ../../../client/id
../../../client/id
Reference to other OAuth clients in the profile that may be used to authenticate the user and obtain the initial access token necessary for a new client to register based on this client as a template.
Reference to other OAuth clients in the profile that may be used to authenticate using client-credentials to obtain the initial access token necessary for a new client to register based on this client as a template
client-store/config-backed/client{id}/use-pairwise-subject-identifiers
Enable this when the client must always be issuing pairwise pseudonym subject identifiers instead of public identifiers.
The sector identifier that is used to derive the pairwise pseudonym from, i.e. the pairwise pseudonym is defined for the pair of sector identifier and subject
client-store/config-backed/client{id}/signed-userinfo
Enable support for returning userinfo as signed JWT
leafref /base:profiles/base:profile[base:id=current()/../../../../../../../base:id][base:type=current()/../../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
/base:profiles/base:profile[base:id=current()/../../../../../../../base:id][base:type=current()/../../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id
A token issuer with a purpose of userinfo
client-store/config-backed/client{id}/id-token-encryption
Enable Id token encryption as per JWE specification
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/id-token-encryption
The reference to encryption keystore containing encryption key
The encryption algorithm used to encrypt the payload of the JWE token
The encryption algorithm for encrypting the content encryption key.Only asymmetric algorithms are supported as of 6.5.0
client-store/config-backed/client{id}/attestation
If set to true, allow the client to use HAAPI, but disable the validation of the attestation data. This is unsafe and must not be used in production.
client-store/config-backed/client{id}/attestation/web
leafref /base:facilities/base:client-attestation/cat:web-policy/cat:id
/base:facilities/base:client-attestation/cat:web-policy/cat:id
Link to the Web policy to use for this client. If not set, a default policy is used.
client-store/config-backed/client{id}/attestation/android
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/attestation/android
leafref /base:facilities/base:client-attestation/cat:android-policy/cat:id
/base:facilities/base:client-attestation/cat:android-policy/cat:id
Link to the Android policy to use for this client. If not set, a default policy is used.
Android package name this client can be used from
SHA-256 digest of the certificate used to sign approved Android packages, encoded in base64
client-store/config-backed/client{id}/attestation/ios
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/attestation/ios
The iOS App ID is the concatenation of the 10-digit team identifier, a period, and the app’s bundle identifier; e.g. ABCDE12345.com.example.app
leafref /base:facilities/base:client-attestation/cat:ios-policy/cat:id
/base:facilities/base:client-attestation/cat:ios-policy/cat:id
Link to the iOS policy to use for this client. If not set, a default policy is used.
client-store/config-backed/client{id}/properties
List of properties that can be configured on a client. These properties can be used from procedures to retrieve properties of the configured client.
client-store/config-backed/client{id}/properties/property{key} (keys ['key'])
/profiles/profile{id, type}/settings/authorization-server/client-store/config-backed/client{id}/properties/property{key}
dynamic-client-registration
Reference to a datasource that stores clients; this datasource is also used to store clients that are registered through Dynamic Client Registration
dynamic-client-registration/templatized
Newly registered clients must use an existing one as a sort of template to determine which capabilities, authentication methods, etc. are allowed
dynamic-client-registration/non-templatized
Allow new clients to be registered which are not based on any existing client configuration
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized
If set, all authorization requests made by non-templatized dynamic clients must include a request object
If set, a client must register with ID token encryption settings. Requires OpenId Connect to be enabled for the profile and the openid scope to be allowed by DCR.
The number of seconds the refresh token will be valid. This value can be overridden by the client in the registration request. Setting this value to 0 means that it no refreshtoken will be issued by default.
When set, the default-refresh-token-ttl or the registration overridden value are used to set the expiration of new refresh tokens, until this max value defined in seconds is reached.
When enabled, the certificate that a client uses for mutual-tls for authentication (direct or by proxy) will be processed such that if its Subject DN contains an OrganizationID (i.e. an RDN with OID 2.5.4.97), this OrganizationID will be used as the client_id that the new client is registered with. When disabled, the a client_id is generated. Defaults to true.
The credential manager that should be used to verify and manage non-templatized dynamic clients’ secrets(notice that this setting is obsolete)
Whether the port should be validated when a client is configured to redirect to the loopback interface. Defaults to true for backwards compatibility. Future versions may default to false because RFC-8252 (sec. 3) says the port should not be validated and this does not generally reduces the security of local redirects. This option can not be set when a redirect-uri-validation-policy is set, in which case the chosen redirect-uri-validation-policy is used. If validate-port-on-loopback-interfaces is not set, the default redirect-uri-validation-policy of the profile will be used. This setting is deprecated in favour of redirect-uri-validation-policies.
leafref ../../../redirect-uri-validation-policies/redirect-uri-validation-policy/id
../../../redirect-uri-validation-policies/redirect-uri-validation-policy/id
The redirect uri validation policy to use for all non-templatized clients. This can not be overridden by a non-templatized client.
dynamic-client-registration/non-templatized/capabilities
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/capabilities
Enables the new client to be registered with the code flow capability
Enables the new client to be registered with the implicit flow capability
Enables the new client to be registered with the password (ROPC) flow capability
Enables the new client to be registered with the assisted token flow capability. Note that a new client must be registered with at least one framable origin for this capability to be usable.
Enabled the new client to be registered with the device flow capability
Enabled the new client to be registered with the client credentials capability
Enabled the new client to be registered with the backchannel authentication capability
dynamic-client-registration/non-templatized/scopes
The scopes that new clients may register with
param all:empty (optional)
param scope:leafref ../../../../scopes/scope/id (multi-value) (optional)
dynamic-client-registration/non-templatized/authenticators
The authenticators that new clients may authenticate with
param authenticator: leafref /base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id (multi-value) (optional) An authenticator that new clients may use to authenticate with
leafref /base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
/base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:authenticator/auth:id
An authenticator that new clients may use to authenticate with
dynamic-client-registration/non-templatized/backchannel-authenticators
The backchannel authenticators that new clients may authenticate with
param authenticator: leafref /base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:backchannel-authenticator/auth:id (multi-value) (optional) An authenticator that new clients may use to authenticate with
leafref /base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:backchannel-authenticator/auth:id
/base:profiles/base:profile[base:id=current()/../../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticators/auth:backchannel-authenticator/auth:id
param all:empty (optional) param authenticator-filters: leafref /base:profiles/base:profile[base:id=current()/../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id (multi-value) (optional) A subset of the authenticator-filters that new clients may use to filter out certain authenticators during login
leafref /base:profiles/base:profile[base:id=current()/../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
/base:profiles/base:profile[base:id=current()/../../../authentication-service/authentication-profile]/base:settings/auth:authentication-service/auth:authenticator-filters/auth:authenticator-filter/auth:id
A subset of the authenticator-filters that new clients may use to filter out certain authenticators during login
dynamic-client-registration/non-templatized/client-authentication-method
Configures how a client authenticates to token, introspect, etc. endpoints.
dynamic-client-registration/non-templatized/client-authentication-method/secret
When this is set, dynamically registered clients can be authenticated with a secret.
The credential manager that should be used to verify and manage non-templatized dynamic clients’ secrets.Note that the data source on the credential manager (if configured) is not used. Only the transformation algorithm. The secret is stored with the client metadata in the dynamic client registration data source.
dynamic-client-registration/non-templatized/client-authentication-method/mutual-tls
When this is set, dynamically registered client can be authenticated with a client certificate. Depending on the profile settings, this is received through either mutual-tls or mutual-tls-by-proxy
dynamic-client-registration/non-templatized/client-authentication-method/mutual-tls/trusted-cas
param trusted-ca: leafref /base:facilities/base:crypto/base:ssl/base:client-truststore/base:client-certificate/base:id (multi-value) (optional) The CA’s that can be the issuer of the client certificate that can be accepted to authenticate this client.
The CA’s that can be the issuer of the client certificate that can be accepted to authenticate this client.
param all:empty (optional) param match-rdn: union (multi-value) (optional) Attribute of the subject to match, instead of matching the full subject of the certificate. Could be used to allow a certificate to change, but allow a specific part to stay the same. If multiple attributes are configured, they all have to match.
Attribute of the subject to match, instead of matching the full subject of the certificate. Could be used to allow a certificate to change, but allow a specific part to stay the same. If multiple attributes are configured, they all have to match.
dynamic-client-registration/non-templatized/client-authentication-method/asymmetrically-signed-jwt
When this is set, dynamically registered clients can be authenticated with an asymmetrically signed JWT.
dynamic-client-registration/non-templatized/client-authentication-method/asymmetrically-signed-jwt/signature-algorithms
The allowed signature algorithms used for JWT based authentication
param signature-algorithm: enumeration RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384, ES512, EdDSA (multi-value) (optional) The signature algorithms to allow
Configure the authentication method that is needed to make the call to register a new client param no-authentication: empty (optional) When set, no initial token is required for a new client to register
Configure the authentication method that is needed to make the call to register a new client
When set, no initial token is required for a new client to register
dynamic-client-registration/non-templatized/mutual-tls
When set, mutual TLS is required for registration
A list of client certificate issuers to trust with client registration.An empty list will mean all configured ssl client truststores.
dynamic-client-registration/non-templatized/mutual-tls-by-proxy
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/mutual-tls-by-proxy
leafref ../../../client-store/config-backed/client/id
../../../client-store/config-backed/client/id
Reference to other OAuth clients in the profile that may be used to authenticate the user and obtain the initial access token necessary for a new client to register
Reference to other OAuth clients in the profile that may be used to authenticate using client-credentials to obtain the initial access token necessary for a new client to register
dynamic-client-registration/non-templatized/sector-identifier-http-clients
A list of sectors and their associated HTTP client that will be used to validate a request for a dynamic client to be in a certain sector. When a non-templatized request is made for some sector that is not configured, the default SSL context, name verifier, trust anchors, etc. will be used.
dynamic-client-registration/non-templatized/sector-identifier-http-clients/sector-identifier-http-client{sector-identifier} (keys ['sector-identifier'])
An mapping of a sector identifier to the HTTP client that will be used to validate requests from a non-templatized dynamic client wishing to join that sector
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/sector-identifier-http-clients/sector-identifier-http-client{sector-identifier}
The sector identifier for which the HTTP client should be used
The HTTP client that will be used to resolve the JSON necessary to validate a non-templatized client’s request to be in the associated sector.
dynamic-client-registration/non-templatized/http-client-mappings
The list of HTTP client mappings. Each mapping associates an URL and an usage set to the HTTP client ID that should be used in that context
dynamic-client-registration/non-templatized/http-client-mappings/http-client-mapping{url} (keys ['url'])
The list of HTTP clients mappings. When looking up the HTTP client ID to use, this list is processed in sequence
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/http-client-mappings/http-client-mapping{url}
The allowed URL for the mapping’s HTTP client ID. Can have an wildcard at the end of the path.
The HTTP client ID to use if the mapping URL and usage match the requirements
enumeration sector-verification, request-object, jwks, backchannel-logout
sector-verification, request-object, jwks, backchannel-logout
The allowed usages for the associated HTTP client ID
dynamic-client-registration/non-templatized/user-consent
When set, the user is asked to accept the delegation via a consent screen. This applies to all interactive flows (i.e. code, implicit, assisted token and device authorization flow). Note that CIBA is not an interactive flow and will always fail if this is enabled.
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/user-consent
dynamic-client-registration/non-templatized/user-consent/consentors
The default consentors for a dynamic registered client. If empty, then all the profile’s consentors will be used
leafref ../../../../../consentors/consentor/id
../../../../../consentors/consentor/id
A consentor that new clients may use.
dynamic-client-registration/non-templatized/signed-userinfo-token-issuers
param token-issuer: leafref /base:profiles/base:profile[base:id=current()/../../../../../../base:id][base:type=current()/../../../../../../base:type]/base:token-issuers/base:custom-token-issuer/base:id (multi-value) (optional) A token issuer that can be selected to issue userinfo as signed JWT
A token issuer that can be selected to issue userinfo as signed JWT
dynamic-client-registration/non-templatized/signed-id-token-issuers
Configure how a signed id-token can be returned for dynamically registered clients. If this container is not present, the profile’s token issuer settings will be applicable.
param profile:empty (optional) Use the default JWT token issuer settings of the profile to issue id tokens
Use the default JWT token issuer settings of the profile to issue id tokens
dynamic-client-registration/non-templatized/signed-id-token-issuers/all
All token issuers with purpose ‘id_token’ can be used by dynamically registered clients
The default id-token-issuer to use when nothing is specified explicitly during client registration
dynamic-client-registration/non-templatized/signed-id-token-issuers/selected
Selection of token issuers with purpose ‘id_token’ can be used by dynamically registered clients
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/non-templatized/signed-id-token-issuers/selected
leafref ../token-issuer
../token-issuer
The default id-token-issuer to use when nothing is specified explicitly
A token issuer that can be selected to issue a signed id token
dynamic-client-registration/non-templatized/require-pushed-authorization-requests
Clients must register with require-pushed-authorization-requests; if this is not enabled here, the profile settings for require-pushed-authorization-requests are followed.
Allow clients to register with the allow per request redirect uri setting. Can only be enabled for the code flow with pushed authorization requests and when this setting is allowed on the profile. Defaults to false. This setting is deprecated in favour of redirect-uri-validation-policies.
dynamic-client-registration/client-management
Enable, to allow dynamically registered clients to update their configuration and delete themselves.
dynamic-client-registration/client-management/registration-token
Registration access token settings (e.g., how long it should last, etc.)
/profiles/profile{id, type}/settings/authorization-server/dynamic-client-registration/client-management/registration-token
(default: 365)
The TTL (in days) of the Registration Token.
(default: 28)
The period of time (in days) a Registration Token can be used for updating and reading the configuration of dynamically registered clients. After this expiration, a Registration Token can only be used for deleting a client.
When set to true, any Mutual-TLS certificate binding present on the Registration Token will be confirmed. If present, Mutual-TLS bindings on Management Tokens issued to Management Clients will always be confirmed regardless of this setting.
Defines if the access token is created on every read/update or not
dynamic-client-registration/client-management/management-clients
The OAuth clients allowed to manage ALL dynamically registered clients.
leafref ../../../../client-store/config-backed/client/id
../../../../client-store/config-backed/client/id
An OAuth client allowed to manage ALL dynamically registered clients.
dpop
Configure custom DPoP behavior
Maximum allowed clock skew for DPoP proof tokens, in the future or in the past.
verifiable-credentials
Container with the configuration of all the different types of Verifiable Credentials
The name for credential issuer
verifiable-credentials/w3c
container for settings shared by one or more verifiable-credential entries using the W3C data model
verifiable-credentials/w3c/type{id} (keys ['id'])
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/w3c/type{id}
The type identifier, used in JSON-LD contexts (e.g. ‘https://example.org/examples#UniversityDegreeCredential’)
The type name, used in non JSON-LD contexts (e.g. ‘UniversityDegreeCredential’)
verifiable-credentials/w3c/type{id}/claim{name} (keys ['name'])
A claim associated to this type
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/w3c/type{id}/claim{name}
leafref ../../../../../claims/claim/name
../../../../../claims/claim/name
Defines if the claim is mandatory for the current type
All the claims of this scope will be associated to this type. These claims will be non-mandatory, unless directly associated to this type with the ‘mandatory’ setting set to true
verifiable-credentials/vc-sd-jwt
container for settings shared by one or more verifiable-credential entries using the SD-JWT VC data model
verifiable-credentials/vc-sd-jwt/type{id} (keys ['id'])
The verifiable credential type identifier, used in the ‘vct’ claim defined by SD-JWT VC
verifiable-credentials/vc-sd-jwt/type{id}/claim{name} (keys ['name'])
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/vc-sd-jwt/type{id}/claim{name}
verifiable-credentials/vc-sd-jwt/type{id}/claim{name}/selective-disclosure
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/vc-sd-jwt/type{id}/claim{name}/selective-disclosure
verifiable-credentials/verifiable-credential{id} (keys ['id'])
The settings for a specific type of verifiable credential
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/verifiable-credential{id}
The unique identifier for this type of verifiable credential
The name for this type of verifiable credential
The description of this type of verifiable credential
A logo for this type of verifiable credential
Defines the duration of the credential before expiration, in seconds
verifiable-credentials/verifiable-credential{id}/w3c-vc
Settings specific to the W3C Verifiable Credential data model
verifiable-credentials/verifiable-credential{id}/w3c-vc/context{id} (keys ['id'])
A Verifiable Credential context to be added to the ‘@context’ field
param uri:uri (optional) The context’s URI param type:leafref ../../../w3c/type/id (multi-value) (optional) A type of the verifiable credential, to be added on the ‘type’ field. The verifiable credential types also define the included subject claims.
The context’s URI
leafref ../../../w3c/type/id
../../../w3c/type/id
A type of the verifiable credential, to be added on the ‘type’ field. The verifiable credential types also define the included subject claims.
verifiable-credentials/verifiable-credential{id}/w3c-vc/schema{id} (keys ['id'])
A credential schema
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/verifiable-credential{id}/w3c-vc/schema{id}
The schema id (URI identifying the schema file)
The schema type, such as ‘JsonSchemaValidator2018’
leafref ../../../../../../base:token-issuers/base:custom-token-issuer/base:id
../../../../../../base:token-issuers/base:custom-token-issuer/base:id
Token issuer used to create the signed verifiable credential
verifiable-credentials/verifiable-credential{id}/w3c-vc/issuer
The verifiable credential issuer ID
param infer-from-kid: empty (optional) Infer the issuer ID from the KID, when the KID is a DID URL
Infer the issuer ID from the KID, when the KID is a DID URL
param uri:uri (optional) Explicit issuer URI
Explicit issuer URI
verifiable-credentials/verifiable-credential{id}/w3c-vc/allowed-subject-did-methods
Allowed DID methods for credential subject binding
param all:empty (optional) allow all supported DID methods
allow all supported DID methods
param method:enumeration ebsi, key, jwk (multi-value) (optional)
enumeration ebsi, key, jwk
ebsi, key, jwk
verifiable-credentials/verifiable-credential{id}/vc-sd-jwt
Settings specific to the SD-JWT VC data model
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/verifiable-credential{id}/vc-sd-jwt
leafref ../../../vc-sd-jwt/type/id
../../../vc-sd-jwt/type/id
The type of the verifiable credential, to be added on the ‘vct’ field. The verifiable credential types also define the included subject claims.
verifiable-credentials/expose-metadata
This section specifies what metadata is exposed for the verifiable credentials issuer
verifiable-credentials/expose-metadata/credential-endpoint
The oauth-credential-endpoint to include in the published OpenID4VCI metadata. This is required when more than one oauth-credential-endpoint is deployed on this profile.
/profiles/profile{id, type}/settings/authorization-server/verifiable-credentials/expose-metadata/credential-endpoint
endpoints
Endpoints describe an instance of an endpoint kindIt ties together the endpoint-kind with a profile and a URIThe endpoint is then deployed on a service
endpoints/endpoint{id} (keys ['id'])
/profiles/profile{id, type}/endpoints/endpoint{id}
The URI endpoint that will respond to requests for this endpoint
enumeration disallow, allow, require
disallow, allow, require
(default: disallow)
Specify whether mutual TLS is required, allowed, or not allowed when accessing this endpoint
endpoint-types oauth-token, oauth-authorize, oauth-revoke, oauth-introspect, oauth-assisted-token, oauth-anonymous, oauth-userinfo, oauth-dynamic-client-registration, oauth-device-authorization, oauth-session, oauth-backchannel-authentication, oauth-client-graphql-api, oauth-verifiable-credential, auth-authentication, auth-registration, auth-anonymous, um-api, um-graphql-api, apps-anonymous
endpoint-types
oauth-token, oauth-authorize, oauth-revoke, oauth-introspect, oauth-assisted-token, oauth-anonymous, oauth-userinfo, oauth-dynamic-client-registration, oauth-device-authorization, oauth-session, oauth-backchannel-authentication, oauth-client-graphql-api, oauth-verifiable-credential, auth-authentication, auth-registration, auth-anonymous, um-api, um-graphql-api, apps-anonymous
The definition needed for this endpoint
leafref /processing/procedures/pre-processing-procedure/id
/processing/procedures/pre-processing-procedure/id
leafref /processing/procedures/post-processing-procedure/id
/processing/procedures/post-processing-procedure/id
endpoints/endpoint{id}/authorize-endpoint-procedures{flow} (keys ['flow'])
identityref
The assigned procedure as a JavaScript or a plugin param procedure: leafref /processing/procedures/token-procedure[flow=current()/../flow]/id (optional) The JavaScript token procedure to use
The assigned procedure as a JavaScript or a plugin
leafref /processing/procedures/token-procedure[flow=current()/../flow]/id
/processing/procedures/token-procedure[flow=current()/../flow]/id
The JavaScript token procedure to use
endpoints/endpoint{id}/token-endpoint-procedures{flow} (keys ['flow'])
endpoints/endpoint{id}/introspect-endpoint-procedures{flow} (keys ['flow'])
endpoints/endpoint{id}/assisted-token-endpoint-procedures{flow} (keys ['flow'])
endpoints/endpoint{id}/userinfo-endpoint-procedures{flow} (keys ['flow'])
endpoints/endpoint{id}/verifiable-credential-endpoint-procedures{flow} (keys ['flow'])
param procedure: leafref /processing/procedures/token-procedure[flow=current()/../flow]/id (mandatory)
endpoints/endpoint{id}/device-authorization-procedures{flow} (keys ['flow'])
token-issuers
Issuers of tokens for this profile
token-issuers/custom-token-issuer{id, issuer-type, purpose-type} (keys ['id', 'issuer-type', 'purpose-type'])
All custom token issuers
/profiles/profile{id, type}/token-issuers/custom-token-issuer{id, issuer-type, purpose-type}
The unique identifier of the issuer (per profile)
token-issuer-type jwt, opaque, wrapped-opaque, sd-jwt
token-issuer-type
jwt, opaque, wrapped-opaque, sd-jwt
This indicates the type of issuer this is, it affects the settings (jwt, ref, etc)
token-purpose-type access_token, refresh_token, id_token, nonce, generic, userinfo, verifiable_credential
token-purpose-type
access_token, refresh_token, id_token, nonce, generic, userinfo, verifiable_credential
The usage is the purpose of the token produced by this issuer
token-issuers/custom-token-issuer{id, issuer-type, purpose-type}/data-sources
leafref /facilities/data-sources/data-source/id
/facilities/data-sources/data-source/id
The data source used for token persistence, which can be different from the delegation data source.
token-issuers/custom-token-issuer{id, issuer-type, purpose-type}/jwt
/profiles/profile{id, type}/token-issuers/custom-token-issuer{id, issuer-type, purpose-type}/jwt
Indicate whether to include the ‘kid’-claim in the JWT header.
Indicate whether to include the ‘x5t’-claim in the JWT header, that contains the SHA-1 thumbprint of the X.509 certificate.
Indicate whether to include the ‘x5t#S256’-claim in the JWT header, that contains the SHA-256 thumbprint of the X.509 certificate.
Indicate whether to include the ‘x5c’-claim in the JWT header, that contains the X.509 public key certificate or certificate chain.
Indicate whether to include the ‘jwk’-claim in the JWT header, that contains the verification or the key that was used to encrypt the JWT.
Indicate whether to onclude the ‘jku’-claim in the JWT header, that contains the URL to the JWK Set resource that contains the verification key or the key that was used to encrypt the JWT. Note that tokens that are not issued in OpenId Connect or OAuth context, will not be able to include this field in the JWT header.
jwt-algorithm RS256, RS384, RS512, PS256, PS384, PS512, HS256, HS384, HS512, ES256, ES384, ES512, EdDSA
jwt-algorithm
RS256, RS384, RS512, PS256, PS384, PS512, HS256, HS384, HS512, ES256, ES384, ES512, EdDSA
(default: RS256)
The signing algorithm to use
A reference to a signing key entry in crypto facilities. Also used for signature verification if no signature verification key is selected.
A reference to the key used to verify a signature issued by this token issuer. Must be of the same type as the selected signing key.
token-issuers/default-token-issuer
These settings are used to define the default Token issuers. They are needed, if no custom issuer is mapped. The default Token Procedures assume that these are available
/profiles/profile{id, type}/token-issuers/default-token-issuer
Indicates whether to issue the Access Token as JWT
The default data-source used for token persistence
Indicates whether the default token issuers return a wrapper JWT instead of an opaque reference as the token artifact. The claims that go into this JWT can be configured using claim mappers. Note that these claims are different from the claims that go into the main token data, which are available via token introspection. This applies to all default access tokens, refresh tokens and authorization codes, with the exception of DCR Management tokens which are always reference tokens.
token-issuers/default-token-issuer/jwt-issuer-settings
/profiles/profile{id, type}/token-issuers/default-token-issuer/jwt-issuer-settings
token-issuers/default-token-issuer/use-caching-services
Use the system’s default caching data source, instead of the default token data source, to store short-lived tokens.
Use the system’s default caching data source to store single-use tokens, such as authorization codes and device codes.
facilities
This is a collection of helper functions available in the system
http/cache{id} (keys ['id'])
HTTP client cache
http/cache{id}/in-memory-cache
/facilities/http/cache{id}/in-memory-cache
(default: 1024)
Maximum number of cache entries
Maximum size for each cache entry, in KiB
Whether the cache is shared between users. If a Cache-Control response header has the ‘private’ directive, the client will only use the cache if this setting is set to false. In such case, care must be taken to only use the cache for HTTP Clients that use the same user credentials or API key.
client (keys: ['id'])
This section defines an Http client. These clients are used by subsystems when accessing web resources, such as Scim server or other services. The important settings are authentication and TLS settings, such as which trust stores to use.
/facilities/http/client{id}
leafref ../../cache/id
../../cache/id
The HTTP client cache to use for this client
Http client connect timeout. Determines the timeout in seconds until a connection is established. A timeout value of zero indicates an infinite timeout. The default is 10. The timeout is applicable per connection, i.e. if the client has both IPv4 and IPv6 protocols available, the client will try to start a new connection using IPv6 if the initiated connection using IPv4 timed out and vice-versa, each of which will use the configured connect-timeout.
Http client socket timeout. Determines the timeout in seconds for the maximum period of inactivity while waiting for data or between two consecutive data packets. A timeout value of zero indicates an infinite timeout. The default is 10.
Relay information about the upstream client (e.g., IP address, HTTP protocol, etc.)
Whether request metrics for this HTTP client are published by the server.
connection-pool
/facilities/http/client{id}/connection-pool
Maximum total number of connections
Maximum connections per HTTP route
conf-timeout
Maximum time to keep idle connections alive, in seconds
The authentication method to use
http-basic-authn
/facilities/http/client{id}/http-basic-authn
when set, uses this as username for http basic authentication to the webservice
when set, uses this as password for http basic authentication to the webservice
oauth-credentials
This enables the HTTP client to use OAuth 2.0 client credentials flow to obtain an access token for endpoint access
/facilities/http/client{id}/oauth-credentials
Passes the OAuth credentials in the Authorization header instead of POST body
The complete url to the token endpoint of the OAuth server used to retrieve the access token
Scopes to request when requesting a new access token from the OAuth 2.0 client
param http-client: leafref ../../../client/id (optional) The HTTP client used to do the OAuth 2.0 token requests.
The HTTP client used to do the OAuth 2.0 token requests.
oauth-credentials/token-endpoint-tls
/facilities/http/client{id}/oauth-credentials/token-endpoint-tls
When set, hostname verification is disabled for TLS connections
When set, uses the crypto server truststore, otherwise uses system default trust (cacerts)
tls
/facilities/http/client{id}/tls
leafref /facilities/crypto/ssl/client-keystores/client-keystore/id
/facilities/crypto/ssl/client-keystores/client-keystore/id
This keystore is used to manage the cryptographic material that can be used for client authentication using certificates. AKA client certificate
proxy
Settings for the proxy the client should forward its requests through.
/facilities/http/client{id}/proxy
The scheme that should be used when connecting to the proxy.
The hostname of the proxy.
The port of the proxy. If not set, the port will default to a value corresponding to the selected scheme; 443 for ‘https’, 80 for ‘http’
The username to use when authenticating to the proxy.
The password to use when authenticating to the proxy.
client-alarms
Toggle what alarms this HTTP client can trigger
/facilities/http/client{id}/client-alarms
Raise failed-authentication alarm when receiving a 401 status code from the remote HTTP server
Raise failed-communication alarm when receiving a 500-599 status code from the remote HTTP server
Additionally raise failed-communication alarm when receiving 400,402-499 status codes from the remote HTTP server.
client-alarms/failed-communication-alarm
This alarm enforces a sliding window; to be raised, a set number of faults must occur within a set time-frame (the sliding window).
client-alarms/failed-communication-alarm/sliding-window
Alarms that enforce a sliding window require a set amount of faults to occur within a set time-frame of each other (the sliding window) before they are raised.
/facilities/http/client{id}/client-alarms/failed-communication-alarm/sliding-window
(default: 2)
The number of faults required to occur within the span of the sliding window for an alarm to be raised. Setting this value to 1 effectively disables the sliding window; raising alarms immediately as faults occur.
The size, in seconds, of the sliding window applied to the alarm. Not all alarms enforce sliding windows; those that do are especially noted in their description.Setting this value to 0 effectively disables the sliding window; raising alarms immediately as faults occur.
retry-on-failures
Enables retry after a network error (while connecting, reading, writing on the socket) or a temporary HTTP error: 502 (Bad Gateway), 503 (Service Unavailable), 504 (Gateway Timeout). A configurable delay, (one second by default) is awaited before each retry. By default, a single retry is attempted.Note: When enabling retries, it is advised to reduce the Connect and Socket timeouts to decrease the time the user is waiting for an error in case of long lasting network problem.
/facilities/http/client{id}/retry-on-failures
The maximum number of retries that are attempted. A value of 0 means that a single request is attempted, with no retries.
(default: 1000)
The time interval before retrying the request, in milliseconds
data-source (keys: ['id'])
Data sources is a heterogeneous list of data sources. Each DS is defined by which choice is made in the select
data-source-alarms
Toggle what alarms this data source client can trigger
Raise slow-connection alarm when requests take too much time before completing
data-source-alarms/slow-connection-alarm
slow-connection alarm configuration specific to this data source. This alarm enforces a sliding window; to be raised, a set number of faults must occur within a set time-frame (the sliding window).
data-source-alarms/slow-connection-alarm/thresholds
Thresholds for raising slow-connection alarms
/facilities/data-sources/data-source{id}/data-source-alarms/slow-connection-alarm/thresholds
Threshold for raising slow-connection alarms of warning severity, in seconds
Threshold for raising slow-connection alarms of minor severity, in seconds
Threshold for raising slow-connection alarms of major severity, in seconds
(default: 31)
Threshold for raising slow-connection alarms of critical severity, in seconds
data-source-alarms/slow-connection-alarm/sliding-window
/facilities/data-sources/data-source{id}/data-source-alarms/slow-connection-alarm/sliding-window
data-source-alarms/failed-communication-alarm
data-source-alarms/failed-communication-alarm/sliding-window
/facilities/data-sources/data-source{id}/data-source-alarms/failed-communication-alarm/sliding-window
multi-zone
Id of the data source used as a fallback when a match is not found in the zone mappings. If a match is not found and this option is not set, a runtime error will occur.
multi-zone/zone-mapping{zone} (keys ['zone'])
Maps a zone to the data source that should be used with it
/facilities/data-sources/data-source{id}/multi-zone/zone-mapping{zone}
Id of the zone
Id of the data source to be used for the zone
scim2
/facilities/data-sources/data-source{id}/scim2
A flag to indicate whether or not the server supports the HTTP PATCH method. If set to false,the client will use GET to get the full object, and then do a full update with PUT. If not set, the client will query the ServiceProviderConfig endpoint of the SCIM 2.0 server. If set to true, no query will be made to the SCIM server and PATCH will be assumed to be supported.
scim2/account
Enable configuration of SCIM 2.0 Account- and Credential Data Access Provider
/facilities/data-sources/data-source{id}/scim2/account
(default: userName eq “:username” and password eq “:password” and active eq true)
The filter string to use to verify the username and password against the SCIM 2.0 server. Use “:username” and “:password” to substitute username and password
(default: emails.value eq “:email” and emails.primary eq true)
The filter string used to find a user based on the email address. Use “:email” to substitute the email
(default: phone.value eq “:phone” and phone.primary eq true)
The filter string used to find a user based on the phone number. Use “:phone” to substitute the phone number
scim2/attributes
Enable configuration for SCIM 2.0 Attribute Data Access Provider
/facilities/data-sources/data-source{id}/scim2/attributes
(default: userName eq “:username”)
The filter to use when searching attributes for a subject. The placeholder is being replaced with the authenticated subject. i.e. userName eq “:username”
A multi-valued list of strings indicating the names of resource attributes to return in the response, overriding the set of attributes that would be returned by default.
A multi-valued list of strings indicating the names of resource attributes to be removed from the default set of attributes to return. This parameter SHALL have no effect on attributes whose schema “returned” setting is “always”.
ldap
/facilities/data-sources/data-source{id}/ldap
enumeration active-directory, generic
active-directory, generic
Idle timeout in seconds for connections in the connection pool (zero value indicates infinite timeout)
Validate connections before fetching them from the connection pool
(default: -1)
How often idle connections are checked for in seconds. If set to -1, eviction will not occur. This is preferred as it will increase throughput by avoiding contention with object usage and idleness checking.
In case the server type is Active Directory, a SimpleBind operation can return with LDAP_INVALID_CREDENTIALS even when the credentials were accepted, when the account has the UserMustResetPassword flag set on it. To detect this, the diagnostics message string will be used to detect whether the reason for failure was that this flag was set, and authentication was considered acceptable. In that case, the resulting SubjectAttributes of the authentication attempt will contain a _userMustResetPassword attribute that indicates this state. This setting can only be enabled when the server type is Active Directory, and defaults to false.
Enable Active Directory specific password expiration handling. If set, and the server type is Active Directory, authentication will be considered acceptable even if the password has expired. The resulting SubjectAttributes of the authentication attempt will contain a _userMustResetPassword attribute to indicate this. This setting defaults to false.
Sets the hostname or IP-address of the LDAP Directory Server
The port of the LDAP Directory Server. Defaults to 389, or when ldaps is enabled, it defaults to 636.
Indicates whether the server communicates with LDAPS
The client id used to bind to the LDAP Directory Server. When not set, an anonymous bind is performed.
The client secret used to authenticate the client id.
The default search root DN where searches are based off of, i.e. ou=People,dc=example,dc=com
enumeration one, sub
one, sub
(default: sub)
The search scope, relative to the default root. Default is to search the sub-tree.
Initial number of connections to hold in the connection pool
Maximum number of connections to hold in the connection pool
ldap/account
/facilities/data-sources/data-source{id}/ldap/account
The attribute that the LDAP Directory Server returns, and is to be considered the account Id for the user entry. If nothing is set, ‘uid’ will be used for directory type ‘generic’, and sAMAccountName for ‘active-directory’
The attribute that the LDAP Directory Server returns, and is to be considered the username for the user entry. If nothing is set, ‘uid’ will be used for directory type ‘generic’, and sAMAccountName for ‘active-directory’
The filter to use when searching for a user in the LDAP Directory Server by its account Id, i.e. ‘uid={}’, or for active-directory it’s usually ‘sAMAccountName={}’. If not set, will default to (<account-id-attribute>={})
The filter to use when searching for a user in the LDAP Directory Server by its username, i.e. ‘uid={}’, or for active-directory it’s usually ‘sAMAccountName={}’. If not set, will default to (<username-attribute>={})
(default: (mail={}))
The filter to use when searching for a user by its email address. The default is ‘(mail={})’
(default: (telephoneNumber={}))
The filter to use when searching for a user by its phone number. The default is ‘(telephoneNumber={})’
(default: carLicense)
The attribute to use to store the active state of the account. When Active Directory the active state attribute will always be ‘userAccountControl’ and this setting is ignored.
The attribute value that indicates that the account is active (e.g., ‘ACTIVE’), Any other value will be treated as inactive.Ignored when Active Directory is used.
The attribute value that indicates that the account is inactive (e.g., ‘INACTIVE’). This is used when creating disabled accounts or disabling accounts through the user-management profile. Ignored when Active Directory is used.
(default: telephoneNumber)
The attribute where the mobile phone number is set. This is only required if the number used for authentication is stored in a different attribute than ‘telephoneNumber’
(default: mail)
The attribute where the email-address is set. This is only required if the email address used for authentication is stored in a different attribute than ‘mail’.
List of user-attributes that are requested as part of user authentication.
ldap/attributes
/facilities/data-sources/data-source{id}/ldap/attributes
The filter to use when searching attributes for a subject. The placeholder is being replaced with the authenticated subject. i.e. ‘uid={}’
List of attributes that are requested when the LDAP data-source acts as an Attribute Provider.
ldap/credentials
ldap/credentials/use-attribute-replacement
Use attribute replacement strategy instead of the default modify-password extended operation for password updates
/facilities/data-sources/data-source{id}/ldap/credentials/use-attribute-replacement
(default: userPassword)
The attribute the password is stored in.
enumeration plaintext, md5, smd5, sha, ssha, sha256, ssha256, sha384, ssha384, sha512, ssha512, crypt
plaintext, md5, smd5, sha, ssha, sha256, ssha256, sha384, ssha384, sha512, ssha512, crypt
(default: crypt)
Select the transformation to use for encoding the password value of the ‘userPassword’ attribute.
List of attributes that are requested when the LDAP data-source acts as an Credential Manager.
ldap/tls
Configure TLS settings when the server uses a SSL/TLS encrypted connection
/facilities/data-sources/data-source{id}/ldap/tls
leafref /base:facilities/base:crypto/base:ssl/base:client-keystores/base:client-keystore/base:id
/base:facilities/base:crypto/base:ssl/base:client-keystores/base:client-keystore/base:id
scim
/facilities/data-sources/data-source{id}/scim
This enables the username password validation to use the Search for from 2.0 instead of 1.1
json
json/web-service-client
/facilities/data-sources/data-source{id}/json/web-service-client
json/attributes
json/attributes/parameter-mappings
json/attributes/parameter-mappings/parameter-mapping{parameter-name} (keys ['parameter-name'])
Specifies a parameter name and how to get the value for it.
The name of the parameter. The value of the authentication attribute with the same name will be mapped.
param static-value: string (optional) A static string to use as the value.
param use-value-of-attribute: string (optional) The name of the attribute to get the value from. Will be fetched from the attributes available from the authentication.
The name of the attribute to get the value from. Will be fetched from the attributes available from the authentication.
json/attributes/parameter
/facilities/data-sources/data-source{id}/json/attributes/parameter
enumeration query-parameter, header-parameter
query-parameter, header-parameter
(default: header-parameter)
Name of the parameter that will be used to provide the tenant ID to the remote service at the configured url-path.
(default: /users)
The path relative to the webservice context, that makes up the subject’s attribute location that a GET-request will be made to. Defaults to ‘/users’.
Name of the parameter that will be used to provide the username to the remote service at the configured url-path.
param url-path:string (default: /users/:subject) The path relative to the webservice context, that makes up the subject’s attribute location that a GET-request will be made to. The path may contain the :subject placeholder, where the username is substituted. If it doesn’t contain that placeholder, use the username-parameter parameter to configure how the username is sent over. Defaults to ‘/users/:subject’. The path may also optionally contain the :tenantId placeholder for example ‘/users/:tenantId/:subject’
(default: /users/:subject)
The path relative to the webservice context, that makes up the subject’s attribute location that a GET-request will be made to. The path may contain the :subject placeholder, where the username is substituted. If it doesn’t contain that placeholder, use the username-parameter parameter to configure how the username is sent over. Defaults to ‘/users/:subject’. The path may also optionally contain the :tenantId placeholder for example ‘/users/:tenantId/:subject’
json/buckets
json/buckets/clear
Configuration used to clear the bucket.
/facilities/data-sources/data-source{id}/json/buckets/clear
enumeration get, post, put, delete
get, post, put, delete
(default: delete)
The HTTP method to use in the requests.
(default: /buckets?subject=:subject&purpose=:purpose)
The template for the URL to used in the requests. It may contain path and query, and should use the :subject, :purpose and optionally :tenantId placeholders.
json/buckets/fetch
Configuration used to fetch attributes from the bucket.
/facilities/data-sources/data-source{id}/json/buckets/fetch
(default: get)
json/buckets/store
Configuration used to store attributes in the bucket.
/facilities/data-sources/data-source{id}/json/buckets/store
(default: put)
json/credential-access
/facilities/data-sources/data-source{id}/json/credential-access
If set to true, the backend will verify the password. It is required the server responds with HTTP Success to indicate a successful password verification.If set to false the password will not be sent to the server and the response should contain both the username, password and the status of the account.
(default: password)
Name of the parameter that will contain the password in a query.
enumeration post-as-json, post-as-urlencoded-formdata, get-as-querystring
post-as-json, post-as-urlencoded-formdata, get-as-querystring
(default: post-as-json)
Specify how username and password are provided to the server. This sets both the HTTP method that is used, as well as the content-type that the data is encoded with
Name of the parameter that will contain the tenant ID in a query.
The path relative to the webservice context to make the request to. The path may contain the :subject, :password and :tenantId placeholders, which are substituted with username, password and tenant ID, respectively. On password verification, the :password placeholder is only substituted when ‘backend-verifies-password’ is set to true (the default).
Name of the parameter that will contain the username in a query.
dynamodb
/facilities/data-sources/data-source{id}/dynamodb
Allow use of table scans to fulfill resource queries
Amount of time in seconds to wait for each individual request to complete. If not set, DynamoDB’s default is used.
Amount of time in seconds to wait for the execution of an API call to complete, including retries. If not set, DynamoDB’s default is used.
enumeration ap-south-1, eu-south-1, us-gov-east-1, ca-central-1, eu-central-1, us-west-1, us-west-2, af-south-1, eu-north-1, eu-west-3, eu-west-2, eu-west-1, ap-northeast-2, ap-northeast-1, me-south-1, sa-east-1, ap-east-1, cn-north-1, us-gov-west-1, ap-southeast-1, ap-southeast-2, us-iso-east-1, us-east-1, us-east-2, cn-northwest-1, us-isob-east-1, aws-global, aws-cn-global, aws-us-gov-global, aws-iso-global, aws-iso-b-global
ap-south-1, eu-south-1, us-gov-east-1, ca-central-1, eu-central-1, us-west-1, us-west-2, af-south-1, eu-north-1, eu-west-3, eu-west-2, eu-west-1, ap-northeast-2, ap-northeast-1, me-south-1, sa-east-1, ap-east-1, cn-north-1, us-gov-west-1, ap-southeast-1, ap-southeast-2, us-iso-east-1, us-east-1, us-east-2, cn-northwest-1, us-isob-east-1, aws-global, aws-cn-global, aws-us-gov-global, aws-iso-global, aws-iso-b-global
The AWS Region where DynamoDB is deployed.
(default: 31536000)
Delegations additional retain duration (in seconds)
(default: 2592000)
Devices additional retain duration (in seconds)
Override the endpoint used to connect to DynamoDB. Useful for testing.
(default: 86400)
Nonces additional retain duration (in seconds)
Sessions additional retain duration (in seconds)
Table name prefix. If defined, all the DynamoDB tables used by this plugin will have this string prefixed into the name
(default: 172800)
Tokens additional retain duration (in seconds)
dynamodb/access-key-id-and-secret
/facilities/data-sources/data-source{id}/dynamodb/access-key-id-and-secret
AWS Access Key ID.
AWS Access Key Secret.
Optional role ARN used when requesting temporary credentials, ex. arn:aws:iam::123456789012:role/dynamodb-role
dynamodb/awsprofile
/facilities/data-sources/data-source{id}/dynamodb/awsprofile
AWS Profile name. Retrieves credentials from the system (~/.aws/credentials).
dynamodb/default-credentials-provider
Use the default credential provider that automatically looks for available credentials in multiple places, namely: java system properties, environment variables, Web Identity Token, credential profiles, and EC2 metadata service.
Controls whether the provider should reuse the last successful credentials provider in the chain. By default it is enabled
param ec2-instance-profile: boolean (optional) EC2 instance that the Curity Identity Server is running on has been assigned an IAM Role with permissions to DynamoDB.
EC2 instance that the Curity Identity Server is running on has been assigned an IAM Role with permissions to DynamoDB.
dynamodb/web-identity-token-file
Use the Web Identity Token File credentials provider. Reads web identity token file path, aws role arn and aws session name from system properties or environment variables for using web identity token credentials.
jdbc
/facilities/data-sources/data-source{id}/jdbc
(default: SELECT linked_accounts. FROM linked_accounts JOIN accounts ON accounts.account_id = linked_accounts.account_id WHERE accounts.username = :subject)*
A custom search query for attribute searches. It should contain a statement that marks the subject as :subject to be the replaced variable. Example: SELECT * FROM user_attributes WHERE subject = :subject. :subject will be mapped against the value given when the query is called.
The JDBC connection string.
(default: 30000)
The time in milliseconds that a client waits for a connection from the pool before giving up.
The JDBC driver to use. Must be present in the $IDSVR_HOME/lib/plugins/data.access.jdbc directory when the plugin is loaded. The ones listed are those shipped with the server.
Whether connection pool metrics are published by the server.
(default: 600000)
The maximum amount of time in milliseconds that a connection is allowed to sit idle in the pool. A value of 0 means that idle connections are never removed from the pool.
(default: 1800000)
The maximum lifetime in milliseconds of a connection in the pool. When a connection reaches this timeout it will be retired from the pool, subject to a maximum variation of +30 seconds. We strongly recommend setting this value, and it should be at least 30 seconds less than any database-level connection timeout.
(default: 20)
Maximum number of connections to keep in the connection pool, counting both idle and active.
Minimum number of connections to keep in the connection pool.
When enabled the JDBC data source stores data for multiple tenants and all issued queries will isolate results for tenant configured on profile or parent service. The database schema needs to be migrated before enabling multi-tenant mode. When false, the database only stores data for default tenant.
Password to use when connecting to this data source.
When this is set to true, this JDBC data source will be used by log4j2 to store audit messages
Username to use when connecting to this data source.
param credential-query: string (default: SELECT account_id AS accountId, username AS userName, password FROM accounts WHERE username = :subjectId AND active = 1) Query to execute to verify or retrieve the password and account claims to verify param custom-query-verifies-password: boolean (default: false) Whether the custom credential query verifies the password or not param insert-credentials-when-not-found: boolean (default: false) Whether insert-or-update semantics should be used when updating credentials in the accounts table. When set to true, a credential update inserts a new record in the accounts table if a matching record is not found.
(default: SELECT account_id AS accountId, username AS userName, password FROM accounts WHERE username = :subjectId AND active = 1)
Query to execute to verify or retrieve the password and account claims to verify
Whether the custom credential query verifies the password or not
Whether insert-or-update semantics should be used when updating credentials in the accounts table. When set to true, a credential update inserts a new record in the accounts table if a matching record is not found.
jdbc/credentials-migration-mode
Use both the accounts table and the credentials table to store passwords, keeping them in sync. Passwords are migrated when used, both on update and verify. This mode is suitable for migration scenarios.
jdbc/standard-credentials-mode
Use the standard data model for credential storage, using the credentials table to store passwords and the associated data.
When accounts and credentials tables are stored in the same data source, allows to check the account status while fetching the credentials. When true a credential is only considered valid by the data source when its owning account is active. This setting allows to do an early check of the status and avoids to configure check-account-status flag on credential manager.
email-provider (keys: ['id'])
The configuration of a service that can send emails
smtp
/facilities/email-providers/email-provider{id}/smtp
The SMTP host
(default: 587)
Sending port
Should this email-subsystem use TLS
An RFC822 email address that will be used as the from name when sending emails
Optional username for smtp connection
Optional password for smtp connection
smtp/dkim
DKIM configuraiton settings
The selector to use when signing the message
smtp/dkim/signing-key
A reference to a signing key
smtp/tls
TLS configuration settings
Secure connection mode (STARTTLS or direct TLS)
param direct-tls: empty (optional) Connection to SMTP server will be immediately established using TLS
Connection to SMTP server will be immediately established using TLS
param start-tls: empty (optional) Connection to SMTP server will be initially insecure and then transition to secure via STARTTLS (RFC 3207)
Connection to SMTP server will be initially insecure and then transition to secure via STARTTLS (RFC 3207)
smtp/tls/trusted-ca
Enable to choose a custom server trust certificate. If disable, the default server trust will be used
leafref /base:facilities/base:crypto/base:ssl/base:server-truststore/base:server-certificate/base:id
/base:facilities/base:crypto/base:ssl/base:server-truststore/base:server-certificate/base:id
A reference to a Server Truststore
sms-provider (keys: ['id'])
A message service that can send sms messages
twilio
/facilities/sms-providers/sms-provider{id}/twilio
The number that appears as sender of the SMS
The account SID to use with Twilio
The credentials to be used when communicating with the Twilio API param auth-token: string (mandatory) The Auth Token to be used when communicating with the Twilio API
The credentials to be used when communicating with the Twilio API
The Auth Token to be used when communicating with the Twilio API
twilio/api-key
The API Key to be used when communicating with the Twilio API
/facilities/sms-providers/sms-provider{id}/twilio/api-key
The API Key SID
The API Key Secret
rest
rest/web-service-client
/facilities/sms-providers/sms-provider{id}/rest/web-service-client
crypto
All crypto services are described below this sectionthis is a restricted section, all nodes will not see all things here
hardware-security-module
The Hardware Security Module (HSM) that may be used in the system
/facilities/crypto/hardware-security-module
The timeout for loading HSM
The path (as applicable on a run-time node) to the shared library that implements PKCS#11
Whether or not certain attributes should be exchanged with the PKCS#11 provider to ensure that maximum compatibility is possible
The interface or port used to connect the HSM to the host computer param slot-id:int8 (default: 0) The slot ID (e.g., 1 or 0) where the HSM is connected param slot-list-index: int8 (default: 0) The index into the list of all slots exposed by the PKCS#11 provider
The interface or port used to connect the HSM to the host computer
int8
The slot ID (e.g., 1 or 0) where the HSM is connected
The index into the list of all slots exposed by the PKCS#11 provider
A list of PKCS#11 mechanisms param enabled-pkcs11-mechanisms: string (multi-value) (optional) Enable only certain PKCS#11 mechanisms despite what may be supported by the HSM param disabled-pkcs11-mechanisms: string (multi-value) (optional) Disable certain PKCS#11 mechanisms that are supported by the HSM
A list of PKCS#11 mechanisms
Enable only certain PKCS#11 mechanisms despite what may be supported by the HSM
Disable certain PKCS#11 mechanisms that are supported by the HSM
ssl
A list of available server keys to be used by ‘services’, it’s only use TLS
ssl/server-keystore{id} (keys ['id'])
A base64 encoded PKCS12 file containing the server keys
/facilities/crypto/ssl/server-keystore{id}
The ID of the keystore. It is only used internally.
Only show when certs are stored in config
enumeration rsa, elliptic-curve, dsa, symmetric, eddsa
rsa, elliptic-curve, dsa, symmetric, eddsa
(default: rsa)
The type of key
Whether or not the key is stored in the HSM
param size:uint16 (default: 2048) The key size (in bits) param curve-name: non-empty-string (optional) The name of the elliptic curve param eddsa-curve-name: non-empty-string (optional) The name of the EdDSA curve
(default: 2048)
The key size (in bits)
The name of the elliptic curve
The name of the EdDSA curve
ssl/server-truststore
The server certificates that we trust
ssl/server-truststore/server-certificate{id} (keys ['id'])
/facilities/crypto/ssl/server-truststore/server-certificate{id}
The keystore containing the keys
ssl/client-truststore
The client certificates that we trust, as they are provided when setting up mutual TLS to Curity
ssl/client-truststore/client-certificate{id} (keys ['id'])
/facilities/crypto/ssl/client-truststore/client-certificate{id}
ssl/client-keystores
This keystore is used to manage the cryptographic material that can be used for client authentication using certificates.
ssl/client-keystores/client-keystore{id} (keys ['id'])
/facilities/crypto/ssl/client-keystores/client-keystore{id}
signing-keys
Keys used for signing tokens issued by this system
signing-keys/signing-key{id} (keys ['id'])
/facilities/crypto/signing-keys/signing-key{id}
An optional external key id that is used when the key is published externally, e.g. as JWKS or referenced from a JWT. When not set, a key id is derived from the key.
signature-verification-keys
Keys used for verifying tokens issued by other systems
signature-verification-keys/signature-verification-key{id} (keys ['id'])
/facilities/crypto/signature-verification-keys/signature-verification-key{id}
signer-truststores
Trust roots used for signature verification for a specific purpose (e.g. verify signature of SAML token by an upstream authentication provider.
signer-truststores/issuer-certificate{id} (keys ['id'])
/facilities/crypto/signer-truststores/issuer-certificate{id}
encryption-keys
Keys used for encryption
encryption-keys/encryption-key{id} (keys ['id'])
/facilities/crypto/encryption-keys/encryption-key{id}
decryption-keys
Keys used for decryption
decryption-keys/decryption-key{id} (keys ['id'])
/facilities/crypto/decryption-keys/decryption-key{id}
credentials
A list of available credentials to be used by ‘services’
credentials/credential{id} (keys ['id'])
/facilities/crypto/credentials/credential{id}
The ID of this credential
The ID (i.e., username, user ID, key ID, etc.) of the key
The key value (i.e., password, secret, API key, etc.)
certificate-alarms
Settings related to alarms for certificate expirations
/facilities/crypto/certificate-alarms
The number of days before expiration from which a warning alarm is triggered. If set to 0 this alarm is disabled.
(default: 14)
The number of days before expiration from which a minor alarm is triggered. If set to 0 this alarm is disabled.
(default: 7)
The number of days before expiration from which a major alarm is triggered. If set to 0 this alarm is disabled.
Disable critical alarms when certificates are expired.
caching-services
(default: 1800)
The number of seconds that a user’s authentication transaction session will roll for
caching-services/default-caching-service
Data Source used for by Caching Service to store sessions, nonces and other ephemeral data.
client-attestation
client-attestation/android-policy{id} (keys ['id'])
Client Attestation Policy for Android Clients
/facilities/client-attestation/android-policy{id}
Verify Android device boot state. This setting should only be used for automated testing purposes. This setting should not be set to ‘false’ in production environments.
enumeration software, trusted-env, strong-box
software, trusted-env, strong-box
(default: trusted-env)
The minimum security level allowed for an Android application to authenticate an user
The number of seconds a HAAPI access token will be valid when issued to clients using this policy.
client-attestation/android-policy{id}/override-certificate-chain-validation
param do-not-validate-certificate-chain: empty (optional) Do not perform Android certificate chain validation. This is unsafe and should not be used in production environments.
Do not perform Android certificate chain validation. This is unsafe and should not be used in production environments.
client-attestation/android-policy{id}/override-certificate-chain-validation/trust-anchors
client-attestation/android-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id} (keys ['id'])
The Android trust-store certificates
/facilities/client-attestation/android-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id}
client-attestation/web-policy{id} (keys ['id'])
Client Attestation Policy for Web Browser Clients
/facilities/client-attestation/web-policy{id}
Allow a browser client to obtain attestation from any origin. This setting should not be set to ‘true’ in production environments.
client-attestation/ios-policy{id} (keys ['id'])
Client Attestation Policy for iOS Clients
/facilities/client-attestation/ios-policy{id}
enumeration production, non-production
production, non-production
Whether the iOS app is built for production or development
client-attestation/ios-policy{id}/override-certificate-chain-validation
param do-not-validate-certificate-chain: empty (optional) Do not perform iOS certificate chain validation. This is unsafe and should not be used in production environments.
Do not perform iOS certificate chain validation. This is unsafe and should not be used in production environments.
client-attestation/ios-policy{id}/override-certificate-chain-validation/trust-anchors
client-attestation/ios-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id} (keys ['id'])
The iOS trust-store certificates
/facilities/client-attestation/ios-policy{id}/override-certificate-chain-validation/trust-anchors/trust-anchor-certificate{id}
processing
Processing functions that provide extension points for issuance and validation
The license key
procedures/token-procedure{id, flow} (keys ['id', 'flow'])
Token procedures that issue tokens
/processing/procedures/token-procedure{id, flow}
A JavaScript procedure that can be used to issue tokens. It should be base-64 encoded to avoid encoding issues
procedures/global-script{id} (keys ['id'])
Scripts that provide functions that will be available in all procedures
/processing/procedures/global-script{id}
JavaScript code containing global functions. It should be base-64 encoded to avoid encoding issues
procedures/validation-procedure{id} (keys ['id'])
Procedures used to validate input data
/processing/procedures/validation-procedure{id}
A JavaScript procedure that can be used to validate data. It should be base-64 encoded to avoid encoding issues
enumeration request
request
(default: request)
procedures/transformation-procedure{id} (keys ['id'])
Procedures used to transform a map of data into another map of data.A specialized version if this is name transformation, where the input data contains a subjectand the output contains a transformed version of that subject.
/processing/procedures/transformation-procedure{id}
A JavaScript procedure that can be used to transform attributes. It should be base-64 encoded to avoid encoding issues
procedures/filter-procedure{id} (keys ['id'])
Procedures used for filtering. The procedure’s result function should return a boolean where true means keep. A common use of filter procedures is to filter authenticators for OAuth clients or Service Providers.
/processing/procedures/filter-procedure{id}
A JavaScript procedure that can be used to filter items. It should be base-64 encoded to avoid encoding issues
enumeration authenticator
authenticator
(default: authenticator)
The type of the items filtered by this filter.
procedures/event-listener-procedure{id} (keys ['id'])
The Event procedures are used with event listeners to execute code on certain events such as authentication complete or system started
/processing/procedures/event-listener-procedure{id}
A JavaScript procedure that can handle events. It should be base-64 encoded to avoid encoding issues
procedures/claims-provider-procedure{id} (keys ['id'])
Procedure used to provide values for claims
/processing/procedures/claims-provider-procedure{id}
A javascript procedure that can be used to set values for claims
procedures/credential-transformation-procedure{id} (keys ['id'])
Procedures used by credential managers to transform the password
/processing/procedures/credential-transformation-procedure{id}
The name or id of the procedure
A JavaScript procedure that can transform/hash a password
procedures/pre-processing-procedure{id} (keys ['id'])
Pre processing script applied for specific endpoints
/processing/procedures/pre-processing-procedure{id}
A JavaScript procedure that can enrich/transform the request
procedures/post-processing-procedure{id} (keys ['id'])
Post-processing script applied for specific endpoints
/processing/procedures/post-processing-procedure{id}
A JavaScript procedure that is executed after processing the request and before sending the response
authorization-manager (keys: ['id'])
Authorization managers can be used to make enquiries about access control decisions.
This is the unique id of the authorization manager
scopes/policies
scopes/policies/policy{action} (keys ['action'])
The ordered list of applicable rules of the policy; processing will stop once the list is completely traversed or an allow decision is reached
/processing/authorization-managers/authorization-manager{id}/scopes/policies/policy{action}
The action that is being performed which requires authorization
enumeration overriding-with-deny, overriding-with-allow, using-first-applicable, allow-unless-deny
overriding-with-deny, overriding-with-allow, using-first-applicable, allow-unless-deny
(default: overriding-with-deny)
How rules should be combined when multiple ones are defined and evaluated
scopes/policies/policy{action}/rules{id} (keys ['id'])
A condition that stipulates whether all scopes or any must be provided in order to arrive at an authorization decision
/processing/authorization-managers/authorization-manager{id}/scopes/policies/policy{action}/rules{id}
enumeration allow, deny, not-applicable
allow, deny, not-applicable
(default: not-applicable)
The resulting authorization decision to use when any of the scopes in this condition are included in the authorization request
enumeration any-of, all-of
any-of, all-of
(default: any-of)
Whether the rule should apply when all or any scopes match the ones for this rule
The set of scopes that are considered for this rule
groups
A set of scopes required in the context to authorize this request. All scopes in the list are required
groups/group{name} (keys ['name'])
User groups that are allowed access. Users with multiple groups get access to the combination of all access granted by each group.
The name of this group. A wildcard ‘*’ value includes users belonging to any groups, including no groups at all.
groups/group{name}/allows
Operations allowed for users in this group.
groups/group{name}/allows/create
groups/group{name}/allows/read
groups/group{name}/allows/update
groups/group{name}/allows/delete
attribute
attribute/rule-list{name} (keys ['name'])
The list of rule-lists that attribute authorization manager should evaluate. First matched rule is applied. If no rule-list matches, the not_applicable authorization result is used.
/processing/authorization-managers/authorization-manager{id}/attribute/rule-list{name}
The name of the rule-list. Must be unique within the configuration.
The description of the rule-list.
attribute/rule-list{name}/enforcement-restrictions
Enforcement restrictions for the rule-list.
/processing/authorization-managers/authorization-manager{id}/attribute/rule-list{name}/enforcement-restrictions
The decision to be used for read operations when no rule is matched in the rule-list.
The decision to be used for write (includes create, update and delete) operations when no rule is matched in the rule-list.
Whether the subject in the token has to match the subject used in the request. When set to ‘true’ only requests operating on ‘self’ will be allowed.
attribute/rule-list{name}/rule{name} (keys ['name'])
The list of rules to evaluate. Once the first matched rule-list is picked, only rules from that rule-list are evaluated. The first matched rule is applied. If no rule matches, enforcement restrictions are applied.
/processing/authorization-managers/authorization-manager{id}/attribute/rule-list{name}/rule{name}
The name the rule. Must be unique within the rule-list.
enumeration allow, deny
allow, deny
The decision to be used when the rule is applied.
The description of the rule.
enumeration create, read, update, delete
create, read, update, delete
The list of access operations. The rule will be applied only for these operations.
The list of attributes. The rule will be applied only for these attributes. Also free text is supported in addition to provided values. If provided attribute has nested sub-attributes, they will be matched too.
attribute/rule-list{name}/select-rule-list-when
Requirements used to find matching rule-lists. All requirements must be satisfied in order for the rule-list to apply.
attribute/rule-list{name}/select-rule-list-when/claim-requirement{name} (keys ['name'])
The list of claim requirements to be used when evaluating which rule-list is going to be applied.
/processing/authorization-managers/authorization-manager{id}/attribute/rule-list{name}/select-rule-list-when/claim-requirement{name}
The name of the claim to be used when evaluating which rule-list is going to be applied.
enumeration all-of, any-of
all-of, any-of
(default: all-of)
Whether all of claim values should be present or just any of them is sufficient for the rule-list to apply.
The list of claim values to be used when evaluating which rule-list is going to be applied.
enumeration dcr-graphql, user-management-graphql, user-management-scim, db-clients, openid-userinfo
dcr-graphql, user-management-graphql, user-management-scim, db-clients, openid-userinfo
The list of contexts rule-list is relevant in. The rule-list is going to be matched only in these contexts.
attribute/rule-list{name}/select-rule-list-when/scope-requirement
The optional scope requirement to be used when evaluating which rule-list is going to be applied.
/processing/authorization-managers/authorization-manager{id}/attribute/rule-list{name}/select-rule-list-when/scope-requirement
Whether all of scopes should be present or just any of them is sufficient for the rule-list to apply.
The list of scopes to be used when evaluating which rule-list is going to be applied.
event-listener (keys: ['id'])
An event listener is a component that will handle certain kinds of events that occur in the system. These can include login, account creation, activation, and more.
audit-to-data-source
Stores each auditable event in the designated data source
The data source to store the audit event in
script-event-listener
Executes the procedure when the events are triggered
leafref /base:processing/base:procedures/base:event-listener-procedure/base:id
/base:processing/base:procedures/base:event-listener-procedure/base:id
The procedure to run on events
script-event-listener/webservice
Enable and configure this if the procedure needs access to a web service in it’s context.
/processing/event-listeners/event-listener{id}/script-event-listener/webservice
script-event-listener/sms-sender
Enable and configure this if the procedure needs access to an sms-sender in it’s context
A reference to the SMS-Provider
script-event-listener/email-sender
Enable and configure this if the procedure needs access to an email-sender in it’s context
script-event-listener/account-manager
Enable and configure this if the procedure needs access to an account-manager in it’s context
script-event-listener/bucket
Enable and configure this to let the procedure use buckets for storing and reading arbitrary data
account-managers/account-manager{id} (keys ['id'])
Account managers manage all communication with the Data layers on behalf of the account. Creating and updating the account.
/processing/account-managers/account-manager{id}
The given ID of an account manager instance
When this is set to true, the username attribute of the account will be considered the primary email. This will make the search based on email use the same method as search by username.Cannot be used with the account source being Active Directory, since that requires a username that is not an email.
A data source for the account-manager, used to provide account info to authentication methods,i.e. a phone number or email. If this is not configured, only the credential is possible.
The ID of the devices data-source. If not set and a account data source has been configured, then that data source will be used to fetch devices.
account-managers/account-manager{id}/enable-registration
/processing/account-managers/account-manager{id}/enable-registration
enumeration no-verification, email-verification, totp-email-verification
no-verification, email-verification, totp-email-verification
If the account should be verified, this is the verification method to be used
(default: 1140)
The maximum period of time that an activation will be valid for. Defaults to 19 minutes, which is inspired by regarding the activation code as a nonce, which lifetime should not be longer than necessary.
When this is set to true, the user will not be able to set the password during registration but instead it will be requested to set the password after clicking the activation page. When set to true the variable $_showPasswordFields will be set to false in the registration templates. The same variable will also be available in the activation templates but with the opposite value.
Optional email-provider to use when using email as part of the registration procedure. This overrides the default email provider that is configured for the zone.
credential-manager (keys: ['id'])
Credential managers communicate with backend systems to validate and manage credentials
/processing/credential-managers/credential-manager{id}
This is the unique id of the credential manager
The number of milliseconds that a failed attempt to verify a credential is guaranteed to take. This provides an option to prevent brute force credential guessing attempts, or it could provide a way to hide how long it really took to verify a credential, mitigating side channel timing leaks.
credential-verification-type
The type of credential verification to be performed
Choose one and only one of the credential verification types param any:empty (optional) Use the credential manager for any kind of verification
Choose one and only one of the credential verification types
Use the credential manager for any kind of verification
credential-verification-type/client-credentials-only
This section determines how credentials are verified when the credential manager is used for client credential verification.
The options for how to verify credentials param verify-using-all-algorithms: empty (optional) Match the stored password pattern against the ShaCrypt password format and use the appropriate algorithm. Eg. if password is $5$… then pick SHA256 and if it starts with $6$ then pick SHA512 etc. param verify-using-single-algorithm: empty (optional) Only use the selected algorithm when matching passwords.
The options for how to verify credentials
Match the stored password pattern against the ShaCrypt password format and use the appropriate algorithm. Eg. if password is $5$… then pick SHA256 and if it starts with $6$ then pick SHA512 etc.
Only use the selected algorithm when matching passwords.
Choose one and only one of the algorithms to use with the credential-manager
plaintext
Specifies that the input will be matched verbatim without without any transformation
BCrypt
Specifies the key expansion iteration count as a power of two. For example, cost 10, indicates 2^10 key expansion rounds. Keep in mind that increasing the cost will greatly increase the complexity and the processing time when creating or validating passwords.
phpass
MD5-based salted and variable iteration count password hashes
Specifies the number of iterations the PHPass algorithm does for password hashing. Keep in mind that increasing the cost will greatly increase the complexity and the processing time when creating or validating passwords.
Sha2WithSha256
/processing/credential-managers/credential-manager{id}/Sha2WithSha256
(default: 20000)
The number of times the Sha256 encryption will be applied
A predefined salt. If left empty the salt will be generated for each password (recommended)
Sha2WithSha512
/processing/credential-managers/credential-manager{id}/Sha2WithSha512
The number of times the Sha512 encryption will be applied
PBKDF2
PBKDF2 algorithm as defined in https://www.ietf.org/rfc/rfc2898.txt, using ‘Modular Crypt Format’ as the encoding format
/processing/credential-managers/credential-manager{id}/PBKDF2
The iteration count provided to the PBKDF2 algorithm, sometimes also referred as rounds
(default: 32)
The salt size in bytes
enumeration hmac-sha-256, hmac-sha-512
hmac-sha-256, hmac-sha-512
(default: hmac-sha-256)
The PRF (pseudo random function) to use
credential-transformation-procedure
Specifies that a procedure should be used to transform the credential
leafref /processing/procedures/credential-transformation-procedure/id
/processing/procedures/credential-transformation-procedure/id
The credential transformation procedure to use for password hashing
data-source-backed
The data source used to store the credential that the manager will verify and update.
The data source to be used
data-source-backed/check-account-status
Configures the credential manager to additionally check the status of user accounts, using the provided subject as the username. Credentials are deemed invalid for inactive accounts. Refer to the documentation of each Data Source to determine when this may be needed.
Data source used to lookup accounts.
config-backed
Users are created here by the admin, this primarily for debug/test purpose
config-backed/users{username} (keys ['username'])
The list of users that can be verified
/processing/credential-managers/credential-manager{id}/config-backed/users{username}
credential-policy
/processing/credential-managers/credential-manager{id}/credential-policy
leafref /processing/credential-policies/credential-policy/id
/processing/credential-policies/credential-policy/id
The policy to use when handling credentials.
Optional bucket to store Credential Policy state. Required when the credential manager data source does not support storing credential attributes. Refer to the documentation of each Data Source to determine when this may be needed.
credential-policies
credential-policies/credential-policy{id} (keys ['id'])
credential-policies/credential-policy{id}/complexity
Enable password complexity rules. If a password doesn’t meet the configured requirements, any password update will be denied.
/processing/credential-policies/credential-policy{id}/complexity
The minimum length that a password must have.
The minimum number of lower case characters that a password must contain.
The minimum number of upper case characters that a password must contain.
The minimum number of digit characters that a password must contain.
The minimum number of special characters that a password must contain.
The minimum number of unique characters that a password must contain.
The maximum number of sequential characters that a password may contain. The considered character sequences are: english alphabet, numerical, and letters of the QWERTY keyboard layout. Validation is case-insensitive and considers reverse order.
credential-policies/credential-policy{id}/temporary-lockout
Enable temporary lockout after a number of failed attempts.
/processing/credential-policies/credential-policy{id}/temporary-lockout
Number of failed attempts the user may make before the credential is temporarily locked out.
The time in seconds the user should not be able to use the credential.
credential-policies/credential-policy{id}/aging
Enable maximum password age. When a password is older than allowed, any access attempt is denied and a new password must be set.
/processing/credential-policies/credential-policy{id}/aging
(default: 90)
The number of days a password is allowed to be used.
If a password expires in less than the configured number of days, additional details about the upcoming expiry are addded to credential verification results. Note that it is up to consumers of the Credential Manager services to actually use that additional information.
credential-policies/credential-policy{id}/history
Enable password history when setting new passwords.
/processing/credential-policies/credential-policy{id}/history
The number of passwords to keep in history, i.e. the number of unique passwords that must be used before one can be reused.
The number of days a password is kept in history since it was set.
alarms
The top container for this module.
alarms/control
Configuration to control the alarm behavior.
/alarms/control
The ‘status-change’ entries are kept in a circular list per alarm. When this number is exceeded, the oldest status change entry is automatically removed. If the value is ‘infinite’, the status-change entries are accumulated infinitely.
enumeration all-state-changes, raise-and-clear, severity-level
all-state-changes, raise-and-clear, severity-level
(default: all-state-changes)
This leaf controls the notifications sent for alarm status updates. There are three options: 1. Notifications are sent for all updates, severity-level changes, and alarm-text changes. 2. Notifications are only sent for alarm raise and clear. 3. Notifications are sent for status changes equal to or above the specified severity level. Clear notifications shall always be sent. Notifications shall also be sent for state changes that make an alarm less severe than the specified level. For example, in option 3, assume that the severity level is set to major and that the alarm has the following state changes: [(Time, severity, clear)]: [(T1, major, -), (T2, minor, -), (T3, warning, -), (T4, minor, -), (T5, major, -), (T6, critical, -), (T7, major. -), (T8, major, clear)] In that case, notifications will be sent at times T1, T2, T5, T6, T7, and T8.
severity indeterminate, warning, minor, major, critical
severity
indeterminate, warning, minor, major, critical
Only send notifications for alarm-state changes crossing the specified level. Always send clear notifications.
alarms/control/alarm-shelving
The ‘alarm-shelving/shelf’ list is used to shelve (block/filter) alarms. The conditions in the shelf criteria are logically ANDed. The first matching shelf is used, and an alarm is shelved only for this first match. Matching alarms MUST appear in the /alarms/shelved-alarms/shelved-alarm list, and non-matching /alarms MUST appear in the /alarms/alarm-list/alarm list. The server does not send any notifications for shelved alarms. The server MUST maintain states (e.g., severity changes) for the shelved alarms. Alarms that match the criteria shall have an operator state ‘shelved’. When the shelf configuration removes an alarm from the shelf, the server shall add the operator state ‘un-shelved’.
alarms/control/alarm-shelving/shelf{name} (keys ['name'])
Each entry defines the criteria for shelving alarms. Criteria are ANDed. If no criteria are specified, all alarms will be shelved.
/alarms/control/alarm-shelving/shelf{name}
An arbitrary name for the alarm shelf.
An optional textual description of the shelf. This description should include the reason for shelving these alarms.
resource-match
Shelve alarms for matching resources.
alarms/control/alarm-shelving/shelf{name}/alarm-type{alarm-type-id, alarm-type-qualifier-match} (keys ['alarm-type-id', 'alarm-type-qualifier-match'])
Any alarm matching the combined criteria of ‘alarm-type-id’ and ‘alarm-type-qualifier-match’ MUST be matched.
/alarms/control/alarm-shelving/shelf{name}/alarm-type{alarm-type-id, alarm-type-qualifier-match}
alarm-type-id
Shelve all alarms that have an ‘alarm-type-id’ that is equal to or derived from the given ‘alarm-type-id’.
An XML Schema regular expression that is used to match an alarm type qualifier. Shelve all alarms that match this regular expression for the alarm type qualifier.
alarms/alarm-inventory
The ‘alarm-inventory/alarm-type’ list contains all possible alarm types for the system. If the system knows for which resources a specific alarm type can appear, it is also identified in the inventory. The list also tells if each alarm type has a corresponding clear state. The inventory shall only contain concrete alarm types. The alarm inventory MUST be updated by the system when new alarms can appear. This can be the case when installing new software modules or inserting new card types. A notification ‘alarm-inventory-changed’ is sent when the inventory is changed.
alarms/alarm-inventory/alarm-type{alarm-type-id, alarm-type-qualifier} (keys ['alarm-type-id', 'alarm-type-qualifier'])
An entry in this list defines a possible alarm.
/alarms/alarm-inventory/alarm-type{alarm-type-id, alarm-type-qualifier}
The statically defined alarm type identifier for this possible alarm.
alarm-type-qualifier
The optionally dynamically defined alarm type identifier for this possible alarm.
This leaf tells the operator if the alarm will be cleared when the correct corrective action has been taken. Implementations SHOULD strive for detecting the cleared state for all alarm types. If this leaf is ‘true’, the operator can monitor the alarm until it becomes cleared after the corrective action has been taken. If this leaf is ‘false’, the operator needs to validate that the alarm is no longer active using other mechanisms. Alarms can lack a corresponding clear due to missing instrumentation or no logical corresponding clear state.
A description of the possible alarm. It SHOULD include information on possible underlying root causes and corrective actions.
Optionally, specifies for which resources the alarm type is valid.
This leaf-list indicates the possible severity levels of this alarm type. Note well that ‘clear’ is not part of the severity type. In general, the severity level should be defined by the instrumentation based on the dynamic state, rather than being defined statically by the alarm type, in order to provide a relevant severity level based on dynamic state and context. However, most alarm types have a defined set of possible severity levels, and this should be provided here.
alarms/summary
This container gives a summary of the number of alarms.
This is a hint to the operator that there are active alarm shelves. This leaf MUST exist if the /alarms/shelved-alarms/number-of-shelved-alarms is > 0.
alarms/summary/alarm-summary{severity} (keys ['severity'])
A global summary of all alarms in the system. The summary does not include shelved alarms.
/alarms/summary/alarm-summary{severity}
Alarm summary for this severity level.
gauge32
Total number of alarms of this severity level.
Total number of alarms of this severity level that are not cleared.
For this severity level, the number of alarms that are cleared.
For this severity level, the number of alarms that are cleared but not closed.
For this severity level, the number of alarms that are cleared and closed.
For this severity level, the number of alarms that are not cleared but closed.
For this severity level, the number of alarms that are not cleared and not closed.
alarms/alarm-list
The alarms in the system.
/alarms/alarm-list
This object shows the total number of alarms in the system, i.e., the total number of entries in the alarm list.
A timestamp when the alarm list was last changed. The value can be used by a manager to initiate an alarm resynchronization procedure.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier} (keys ['resource', 'alarm-type-id', 'alarm-type-qualifier'])
The list of alarms. Each entry in the list holds one alarm for a given alarm type and resource. An alarm can be updated from the underlying resource or by the user. The following leafs are maintained by the resource: ‘is-cleared’, ‘last-change’, ‘perceived-severity’, and ‘alarm-text’. An operator can change ‘operator-state’ and ‘operator-text’. Entries appear in the alarm list the first time an alarm becomes active for a given alarm type and resource. Entries do not get deleted when the alarm is cleared. Clear status is represented as a boolean flag. Alarm entries are removed, i.e., purged, from the list by an explicit purge action. For example, purge all alarms that are cleared and in closed operator state that are older than 24 hours. Purged alarms are removed from the alarm list. If the alarm resource state changes after a purge, the alarm will reappear in the alarm list. Systems may also remove alarms based on locally configured policies; this is out of scope for this module.
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}
The timestamp when this alarm entry was created. This represents the first time the alarm appeared; it can also represent that the alarm reappeared after a purge. Further state changes of the same alarm do not change this leaf; these changes will update the ‘last-changed’ leaf.
True if this alarm was triggered by a self test operation. Self test alarms do not indicate any issues in the system.
resource
The alarming resource. See also ‘alt-resource’. This could be, for example, a reference to the alarming interface
This leaf and the leaf ‘alarm-type-qualifier’ together provide a unique identification of the alarm type.
This leaf is used when the ‘alarm-type-id’ leaf cannot uniquely identify the alarm type. Normally, this is not the case, and this leaf is the empty string.
Indicates the current clearance state of the alarm. An alarm might toggle from active alarm to cleared alarm and back to active again.
An alarm may change severity level and toggle between active and cleared during its lifetime. This leaf indicates the last time it was raised (‘is-cleared’ = ‘false’).
A timestamp when the ‘status-change’ or ‘operator-state-change’ list was last changed.
The last severity of the alarm. If an alarm was raised with severity ‘warning’ but later changed to ‘major’, this leaf will show ‘major’.
alarm-text
The last reported alarm text. This text should contain information for an operator to be able to understand the problem and how to resolve it.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time} (keys ['time'])
This list is used by operators to indicate the state of human intervention on an alarm. For example, if an operator has seen an alarm, the operator can add a new item to this list indicating that the alarm is acknowledged.
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time}
Timestamp for operator action on the alarm.
The name of the operator that has acted on this alarm.
operator-state
The operator’s view of the alarm state.
Additional optional textual information provided by the operator.
Used if the alarming resource is available over other interfaces. This field can contain SNMP OIDs, CIM paths, or 3GPP distinguished names, for example.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier} (keys ['resource alarm-type-id alarm-type-qualifier'])
References to related alarms. Note that the related alarm might have been purged from the alarm list.
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier}
leafref /alarms/alarm-list/alarm/resource
/alarms/alarm-list/alarm/resource
The alarming resource for the related alarm.
leafref /alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
/alarms/alarm-list/alarm[resource=current()/../resource]/alarm-type-id
The alarm type identifier for the related alarm.
leafref /alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
/alarms/alarm-list/alarm[resource=current()/../resource][alarm-type-id=current()/../alarm-type-id]/alarm-type-qualifier
The alarm qualifier for the related alarm.
Resources that might be affected by this alarm. If the system creates an alarm on a resource and also has a mapping to other resources that might be impacted, these resources can be listed in this leaf-list. In this way, the system can create one alarm instead of several. For example, if an interface has an alarm, the ‘impacted-resource’ can reference the aggregated port channels.
Resources that are candidates for causing the alarm. If the system has a mechanism to understand the candidate root causes of an alarm, this leaf-list can be used to list the root-cause candidate resources. In this way, the system can create one alarm instead of several. An example might be a logging system (alarm resource) that fails; the alarm can reference the file system in the ‘root-cause-resource’ leaf-list. Note that the intended use is not to also send an alarm with the ‘root-cause-resource’ as an alarming resource. The ‘root-cause-resource’ leaf-list is a hint and should not also generate an alarm for the same problem.
alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time} (keys ['time'])
A list of status-change events for this alarm. The entry with latest timestamp in this list MUST correspond to the leafs ‘is-cleared’, ‘perceived-severity’, and ‘alarm-text’ for the alarm. This list is ordered according to the timestamps of alarm state changes. The first item corresponds to the latest state change. The following state changes create an entry in this list: - changed severity (warning, minor, major, critical) - clearance status; this also updates the ‘is-cleared’ leaf - alarm-text update
/alarms/alarm-list/alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time}
The time the status of the alarm changed. The value represents the time the real alarm-state change appeared in the resource and not when it was added to the alarm list. The /alarm-list/alarm/last-changed MUST be set to the same value.
severity-with-clear
The severity of the alarm as defined by X.733. Note that this may not be the original severity since the alarm may have changed severity.
A user-friendly text describing the alarm-state change.
alarms/shelved-alarms
The shelved alarms. Alarms appear here if they match the criteria in /alarms/control/alarm-shelving. This list does not generate any notifications. The list represents alarms that are considered not relevant by the operator. Alarms in this list have an ‘operator-state’ of ‘shelved’. This cannot be changed.
/alarms/shelved-alarms
This object shows the total number of current alarms, i.e., the total number of entries in the alarm list.
A timestamp when the shelved-alarm list was last changed. The value can be used by a manager to initiate an alarm resynchronization procedure.
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier} (keys ['resource', 'alarm-type-id', 'alarm-type-qualifier'])
The list of shelved alarms. Shelved alarms can only be updated from the underlying resource; no operator actions are supported.
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}
leafref /alarms/control/alarm-shelving/shelf/name
/alarms/control/alarm-shelving/shelf/name
The name of the shelf.
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time} (keys ['time'])
This list is used by operators to indicate the state of human intervention on an alarm. For shelved alarms, the system has set the list item in the list to ‘shelved’.
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/operator-state-change{time}
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier} (keys ['resource alarm-type-id alarm-type-qualifier'])
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/related-alarm{resource alarm-type-id alarm-type-qualifier}
alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time} (keys ['time'])
/alarms/shelved-alarms/shelved-alarm{resource, alarm-type-id, alarm-type-qualifier}/status-change{time}
alarms/alarm-profile{alarm-type-id, alarm-type-qualifier-match, resource} (keys ['alarm-type-id', 'alarm-type-qualifier-match', 'resource'])
This list is used to assign further information or configuration for each alarm type. This module supports a mechanism where the client can override the system-default alarm severity levels. The ‘alarm-profile’ is also a useful augmentation point for specific additions to alarm types.
/alarms/alarm-profile{alarm-type-id, alarm-type-qualifier-match, resource}
The alarm type identifier to match.
An XML Schema regular expression that is used to match the alarm type qualifier.
Specifies which resources to match.
A description of the alarm profile.
alarms/alarm-profile{alarm-type-id, alarm-type-qualifier-match, resource}/alarm-severity-assignment-profile
The client can override the system-default severity level.
Specifies the configured severity level(s) for the matching alarm. If the alarm has several severity levels, the leaf-list shall be given in rising severity order. The original M3100/M3160 ASAP function only allows for a one-to-one mapping between alarm type and severity, but since YANG module supports stateful alarms, the mapping must allow for several severity levels. Assume a high-utilization alarm type with two thresholds with the system-default severity levels of threshold1 = warning and threshold2 = minor. Setting this leaf-list to (minor, major) will assign the severity levels as threshold1 = minor and threshold2 = major