Overview

CAS takes advantages of Swagger to produce API documentation automatically. The generated documentation supports all CAS endpoints and REST APIs provided they are made available to the runtime application context and are present in the overlay.

Support is enabled by including the following dependency in the overlay:

1
2
3
4
5
<dependency>
    <groupId>org.apereo.cas</groupId>
    <artifactId>cas-server-support-swagger</artifactId>
    <version>${cas.version}</version>
</dependency>
1
implementation "org.apereo.cas:cas-server-support-swagger:${project.'cas.version'}"
1
2
3
4
5
6
7
8
9
dependencyManagement {
    imports {
        mavenBom "org.apereo.cas:cas-server-support-bom:${project.'cas.version'}"
    }
}

dependencies {
    implementation "org.apereo.cas:cas-server-support-swagger"
}
1
2
3
4
5
6
7
8
9
10
dependencies {
    /*
        The following platform references are included automatically and are listed for reference only.

        implementation enforcedPlatform("org.apereo.cas:cas-server-support-bom:${project.'cas.version'}")
        implementation platform(org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES)
        
    */
    implementation "org.apereo.cas:cas-server-support-swagger"
}

The following settings and properties are available from the CAS configuration catalog:

springdoc.allowed-localesAllowed locales for i18n.
no default
Third party

Allowed locales for i18n.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.api-docs.enabledWhether to generate and serve an OpenAPI document.
false
Third party

Whether to generate and serve an OpenAPI document.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$ApiDocs
springdoc.api-docs.groups.enabledThe Enabled.
false
Third party

The Enabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$Groups
springdoc.api-docs.pathPath to the generated OpenAPI documentation.
no default
Third party

Path to the generated OpenAPI documentation. For a yaml file, append ".yaml" to the path.

Type
String
Default
none
Defined by
SpringDocConfigProperties$ApiDocs
springdoc.api-docs.resolve-extensions-propertiesThe Resolve extensions properties.
false
Third party

The Resolve extensions properties.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$ApiDocs
springdoc.api-docs.resolve-schema-propertiesThe Resolve schema properties.
false
Third party

The Resolve schema properties.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$ApiDocs
springdoc.api-docs.versionThe OpenAPI version.
openapi-3-1
Third party

The OpenAPI version.

Type
SpringDocConfigProperties.ApiDocs.OpenApiVersion
Default
openapi-3-1
Defined by
SpringDocConfigProperties$ApiDocs
springdoc.auto-tag-classesThe Auto tag classes.
true
Third party

The Auto tag classes.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.cache.disabledThe Disabled.
false
Third party

The Disabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$Cache
springdoc.cache.max-entriesThe maximum number of OpenAPI descriptions to keep in the cache.
100
Third party

The maximum number of OpenAPI descriptions to keep in the cache. One entry is cached per requested locale, so this bounds the memory an untrusted caller can make the cache consume by varying the Accept-Language header. The least recently used entry is evicted once the limit is reached. A non-positive value falls back to the default of #DEFAULT_MAX_ENTRIES rather than meaning "unlimited". Narrow it further with springdoc.allowed-locales.

Type
Integer
Default
100
Defined by
SpringDocConfigProperties$Cache
springdoc.consumes-to-matchThe Consumes to match.
no default
Third party

The Consumes to match.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.default-consumes-media-typeThe Default consumes media type.
no default
Third party

The Default consumes media type.

Type
String
Default
none
Defined by
SpringDocConfigProperties
springdoc.default-flat-param-objectThe param default flatten
false
Third party

The param default flatten

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.default-produces-media-typeThe Default produces media type.
no default
Third party

The Default produces media type.

Type
String
Default
none
Defined by
SpringDocConfigProperties
springdoc.default-support-form-dataconvert query param to form data when consumes is multipart/form-data
false
Third party

convert query param to form data when consumes is multipart/form-data

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.disable-i18nThe Disable i18n.
false
Third party

The Disable i18n.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.enable-data-restThe Enable hateoas.
true
Third party

The Enable hateoas.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.enable-default-api-docsThe Enable default api docs.
true
Third party

The Enable default api docs.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.enable-extra-schemasThe Enable extra schemas resolution.
false
Third party

The Enable extra schemas resolution.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.enable-groovyThe Enable groovy.
true
Third party

The Enable groovy.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.enable-hateoasThe Enable hateoas.
true
Third party

The Enable hateoas.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.enable-javadocThe Enable javadoc.
true
Third party

The Enable javadoc.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.enable-kotlinThe Enable kotlin.
true
Third party

The Enable kotlin.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.enable-spring-securityThe Enable spring security.
true
Third party

The Enable spring security.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.explicit-object-schemaSet explicit-object-schema to true to always include type: object in the schema, or to false to omit type: object.
false
Third party

Set explicit-object-schema to true to always include type: object in the schema, or to false to omit type: object.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.group-configsThe Group configs.
no default
Third party

The Group configs.

Type
Set<SpringDocConfigProperties.GroupConfig>
Default
none
Defined by
SpringDocConfigProperties
springdoc.headers-to-matchThe Headers to match.
no default
Third party

The Headers to match.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.login-endpoint.password-exampleThe example value for the password field of the login request body.
no default
Third party

The example value for the password field of the login request body. Only applied when springdoc.show-login-endpoint=true.

Type
String
Default
none
Defined by
SpringDocConfigProperties$LoginEndpoint
springdoc.login-endpoint.username-exampleThe example value for the username field of the login request body.
no default
Third party

The example value for the username field of the login request body. Only applied when springdoc.show-login-endpoint=true.

Type
String
Default
none
Defined by
SpringDocConfigProperties$LoginEndpoint
springdoc.model-and-view-allowedThe Model and view allowed.
false
Third party

The Model and view allowed.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.model-converters.deprecating-converter.enabledThe Enabled.
false
Third party

The Enabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$ModelConverters$DeprecatingConverter
springdoc.model-converters.pageable-converter.enabledThe Enabled.
false
Third party

The Enabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$ModelConverters$PageableConverter
springdoc.model-converters.polymorphic-converter.enabledThe Enabled.
false
Third party

The Enabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$ModelConverters$PolymorphicConverter
springdoc.nullable-request-parameter-enabledThe Nullable request parameter enabled.
false
Third party

The Nullable request parameter enabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.open-apiThe Open api.
no default
Third party

The Open api.

Type
OpenAPI
Default
none
Defined by
SpringDocConfigProperties
springdoc.override-with-generic-responseThe Override with generic response.
no default
Third party

The Override with generic response.

Type
Boolean
Default
none
Defined by
SpringDocConfigProperties
springdoc.packages-to-excludeThe Packages to exclude.
no default
Third party

The Packages to exclude.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.packages-to-scanThe Packages to scan.
no default
Third party

The Packages to scan.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.paths-to-excludeThe Paths to exclude.
no default
Third party

The Paths to exclude.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.paths-to-matchThe Paths to match.
no default
Third party

The Paths to match.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.pre-loading-enabledAllow for pre-loading OpenAPI
false
Third party

Allow for pre-loading OpenAPI

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.pre-loading-localeslocale list to pre-loading
no default
Third party

locale list to pre-loading

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.produces-to-matchThe Produces to match.
no default
Third party

The Produces to match.

Type
List<String>
Default
none
Defined by
SpringDocConfigProperties
springdoc.remove-broken-reference-definitionsThe Remove broken reference definitions.
true
Third party

The Remove broken reference definitions.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.show-actuatorThe Show actuator.
false
Third party

The Show actuator.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.show-login-endpointThe Show login endpoint.
false
Third party

The Show login endpoint.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.show-oauth2-endpointsThe Show oauth 2 endpoint.
false
Third party

The Show oauth 2 endpoint.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.show-spring-cloud-functionsThe Show spring cloud functions.
true
Third party

The Show spring cloud functions.

Type
Boolean
Default
true
Defined by
SpringDocConfigProperties
springdoc.sort-converter.enabledThe Enabled.
false
Third party

The Enabled.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties$SortConverter
springdoc.swagger-ui.config-urlURL to fetch external configuration document from.
no default
Third party

URL to fetch external configuration document from.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.csrf.cookie-nameThe Cookie name.
no default
Third party

The Cookie name.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.csrf.enabledThe Enabled.
false
Third party

The Enabled.

Type
Boolean
Default
false
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.csrf.header-nameThe Header name.
no default
Third party

The Header name.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.csrf.local-storage-keyThe Local storage key.
no default
Third party

The Local storage key.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.csrf.session-storage-keyThe Session storage key.
no default
Third party

The Session storage key.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.csrf.use-local-storageUse Local storage.
false
Third party

Use Local storage.

Type
Boolean
Default
false
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.csrf.use-session-storageUse Session storage.
false
Third party

Use Session storage.

Type
Boolean
Default
false
Defined by
SwaggerUiConfigProperties$Csrf
springdoc.swagger-ui.deep-linkingEnables or disables deep linking for tags and operations.
no default
Third party

Enables or disables deep linking for tags and operations. @see deep-linking.md

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.default-model-expand-depthThe default expansion depth for the model on the model-example section.
no default
Third party

The default expansion depth for the model on the model-example section.

Type
Integer
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.default-model-renderingControls how the model is shown when the API is first rendered.
no default
Third party

Controls how the model is shown when the API is first rendered.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.default-models-expand-depthThe default expansion depth for models (set to -1 completely hide the models).
no default
Third party

The default expansion depth for models (set to -1 completely hide the models).

Type
Integer
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.disable-swagger-default-urlThe Disable swagger default url.
false
Third party

The Disable swagger default url.

Type
Boolean
Default
false
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.display-operation-idControls the display of operationId in operations list.
no default
Third party

Controls the display of operationId in operations list.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.display-request-durationControls the display of the request duration (in milliseconds) for Try-It-Out requests.
no default
Third party

Controls the display of the request duration (in milliseconds) for Try-It-Out requests.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.doc-expansionControls the default expansion setting for the operations and tags.
no default
Third party

Controls the default expansion setting for the operations and tags.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.document-titleThe Document title.
no default
Third party

The Document title.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.enabledWhether to generate and serve an OpenAPI document.
false
Third party

Whether to generate and serve an OpenAPI document.

Type
Boolean
Default
false
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.filterIf set, enables filtering.
no default
Third party

If set, enables filtering. The top bar will show an edit box that could be used to filter the tagged operations that are shown.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.groups-orderThe Groups order.
asc
Third party

The Groups order.

Type
AbstractSwaggerUiConfigProperties.Direction
Default
asc
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.layoutThe name of a component available via the plugin system to use as the top-level layout for Swagger UI.
no default
Third party

The name of a component available via the plugin system to use as the top-level layout for Swagger UI.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.max-displayed-tagsIf set, limits the number of tagged operations displayed to at most this many.
no default
Third party

If set, limits the number of tagged operations displayed to at most this many.

Type
Integer
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.oauth.additional-query-string-paramsThe Additional query string params.
no default
Third party

The Additional query string params.

Type
Map<String,String>
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.app-nameThe App name.
no default
Third party

The App name.

Type
String
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.client-idThe Client id.
no default
Third party

The Client id.

Type
String
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.client-secretThe Client secret.
no default
Third party

The Client secret.

Type
String
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.config-parameters
no default
Third party
Type
Map<String,Object>
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.realmThe Realm.
no default
Third party

The Realm.

Type
String
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.scope-separatorThe Scope separator.
no default
Third party

The Scope separator.

Type
String
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.scopesThe Scopes selected by default upon authentication.
no default
Third party

The Scopes selected by default upon authentication.

Type
List<String>
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.use-basic-authentication-with-access-code-grantThe Use basic authentication with access code grant.
no default
Third party

The Use basic authentication with access code grant.

Type
Boolean
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth.use-pkce-with-authorization-code-grantThe Use pkce with authorization code grant.
no default
Third party

The Use pkce with authorization code grant.

Type
Boolean
Default
none
Defined by
SwaggerUiOAuthProperties
springdoc.swagger-ui.oauth2-redirect-urlOAuth redirect URL.
no default
Third party

OAuth redirect URL.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.operations-sorterApply a sort to the operation list of each API
no default
Third party

Apply a sort to the operation list of each API

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.pathThe path for the Swagger UI pages to load.
no default
Third party

The path for the Swagger UI pages to load.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.persist-authorizationThe Persist authorization.
no default
Third party

The Persist authorization.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.query-config-enabledThe Query config enabled.
no default
Third party

The Query config enabled.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.show-common-extensionsControls the display of extensions
no default
Third party

Controls the display of extensions

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.show-extensionsControls the display of vendor extension (x-) fields and values.
no default
Third party

Controls the display of vendor extension (x-) fields and values.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.supported-submit-methodsThe supported try it out methods
no default
Third party

The supported try it out methods

Type
List<String>
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.syntax-highlight.activatedThe Activated.
no default
Third party

The Activated.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties$SyntaxHighlight
springdoc.swagger-ui.syntax-highlight.themeThe Theme.
no default
Third party

The Theme.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties$SyntaxHighlight
springdoc.swagger-ui.tags-sorterApply a sort to the tag list of each API
no default
Third party

Apply a sort to the tag list of each API

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.try-it-out-enabledTry it out enabled
no default
Third party

Try it out enabled

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.urlThe Url.
no default
Third party

The Url.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.urlsThe Urls.
no default
Third party

The Urls.

Type
Set<AbstractSwaggerUiConfigProperties.SwaggerUrl>
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.urls-primary-nameThe Urls primary name.
no default
Third party

The Urls primary name.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.use-root-pathThe Use root path.
false
Third party

The Use root path.

Type
Boolean
Default
false
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.validator-urlURL to validate specs against.
no default
Third party

URL to validate specs against.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.versionThe Swagger ui version.
no default
Third party

The Swagger ui version.

Type
String
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.swagger-ui.with-credentialsThe With credentials.
no default
Third party

The With credentials.

Type
Boolean
Default
none
Defined by
SwaggerUiConfigProperties
springdoc.trim-kotlin-indentThe trim kotlin indent.
false
Third party

The trim kotlin indent.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.use-arbitrary-schemasWhen set to true, schemas without a defined type will be deserialized as an ArbitrarySchema (with no type), instead of an ObjectSchema with type: object.
false
Third party

When set to true, schemas without a defined type will be deserialized as an ArbitrarySchema (with no type), instead of an ObjectSchema with type: object.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.use-fqnUse fully qualified name
false
Third party

Use fully qualified name

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.use-management-portIf set to true, exposes the swagger-ui on the actuator management port.
false
Third party

If set to true, exposes the swagger-ui on the actuator management port.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.writer-with-default-pretty-printerThe Writer with default pretty printer.
false
Third party

The Writer with default pretty printer.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties
springdoc.writer-with-order-by-keysThe Writer with order by keys.
false
Third party

The Writer with order by keys.

Type
Boolean
Default
false
Defined by
SpringDocConfigProperties

Required settings may be needed to activate or affect the feature; review them even when they have a default. Optional settings only need to be set to change a default or to turn on the behavior they control. Third party settings belong to libraries such as Spring Boot that CAS builds on; their own documentation may have more detail.

Groovy scripting

CAS takes advantage of Apache Groovy in forms of either embedded or external scripts that allow one to, by default, dynamically build constructs, attributes, access strategies and a lot more. To activate the functionality described here, you may need to prepare CAS to support and integrate with Apache Groovy.

Please review this guide to configure your build.

Notes on configuration

Configuration Metadata

The collection of configuration properties listed in this section are automatically generated from the CAS source and components that contain the actual field definitions, types, descriptions, modules, etc. This metadata may not always be 100% accurate, or could be lacking details and sufficient explanations.

Be Selective

This section is meant as a guide only. Do NOT copy/paste the entire collection of settings into your CAS configuration; rather pick only the properties that you need. Do NOT enable settings unless you are certain of their purpose and do NOT copy settings into your configuration only to keep them as reference. All these ideas lead to upgrade headaches, maintenance nightmares and premature aging.

YAGNI

Note that for nearly ALL use cases, declaring and configuring properties listed here is sufficient. You should NOT have to explicitly massage a CAS XML/Java/etc configuration file to design an authentication handler, create attribute release policies, etc. CAS at runtime will auto-configure all required changes for you. If you are unsure about the meaning of a given CAS setting, do NOT turn it on without hesitation. Review the codebase or better yet, ask questions to clarify the intended behavior.

Naming Convention

Property names can be specified in very relaxed terms. For instance cas.someProperty, cas.some-property, cas.some_property are all valid names. While all forms are accepted by CAS, there are certain components (in CAS and other frameworks used) whose activation at runtime is conditional on a property value, where this property is required to have been specified in CAS configuration using kebab case. This is both true for properties that are owned by CAS as well as those that might be presented to the system via an external library or framework such as Spring Boot, etc.

:information_source: Note

When possible, properties should be stored in lower-case kebab format, such as cas.property-name=value. The only possible exception to this rule is when naming actuator endpoints; The name of the actuator endpoints (i.e. ssoSessions) MUST remain in camelCase mode.

Settings and properties that are controlled by the CAS platform directly always begin with the prefix cas. All other settings are controlled and provided to CAS via other underlying frameworks and may have their own schemas and syntax. BE CAREFUL with the distinction. Unrecognized properties are rejected by CAS and/or frameworks upon which CAS depends. This means if you somehow misspell a property definition or fail to adhere to the dot-notation syntax and such, your setting is entirely refused by CAS and likely the feature it controls will never be activated in the way you intend.

Validation

Configuration properties are automatically validated on CAS startup to report issues with configuration binding, especially if defined CAS settings cannot be recognized or validated by the configuration schema. Additional validation processes are also handled via Configuration Metadata and property migrations applied automatically on startup by Spring Boot and family.

Indexed Settings

CAS settings able to accept multiple values are typically documented with an index, such as cas.some.setting[0]=value. The index [0] is meant to be incremented by the adopter to allow for distinct multiple configuration blocks.

Endpoints

The following Swagger endpoints may be used to analyze and test the APIs:

Description URL
Swagger API Specification https://sso.example.org/cas/v3/api-docs
Swagger UI https://sso.example.org/cas/swagger-ui.html