Skip to main content
Version: Next

OpenID Bridge Configuration Reference

This reference documents the configuration variables used by OpenID Bridge. As a Spring Boot application, it supports additional standard Spring Boot properties beyond those listed here. For comprehensive Spring Boot configuration options, refer to the Spring Boot Common Application Properties.

The variables documented below are either:

  • Required for OpenID Bridge functionality
  • Commonly configured for typical deployments
  • Custom properties specific to Procivis One

Database Configuration

MariaDB Container Configuration

The following variables configure the Bridge's MariaDB database container:

VariableTypeDefaultDescription
MARIADB_USERstring-MariaDB user
MARIADB_PASSWORDstring-MariaDB password
MARIADB_DATABASEstring-MariaDB database name
MARIADB_ROOT_PASSWORDstring-MariaDB root password

Database Connection Variables

The Bridge uses the following variables to construct the database connection. These should reference the MariaDB container values above:

VariableTypeDefaultDescription
MYSQL_HOSTstring-MySQL/MariaDB hostname
MYSQL_DBstring-MySQL/MariaDB database name (must match MARIADB_DATABASE)
MYSQL_USERstring-MySQL/MariaDB username (must match MARIADB_USER)
MYSQL_PASSWORDstring-MySQL/MariaDB password (must match MARIADB_PASSWORD)

Spring Database Configuration

Spring Boot uses these variables to establish database connections, typically referencing the MYSQL_* variables above:

VariableTypeDefaultDescription
spring.datasource.urlstring-Database connection URL (format: jdbc:mysql://${MYSQL_HOST}:port/${MYSQL_DB})
spring.datasource.usernamestring-Database username (typically references ${MYSQL_USER})
spring.datasource.passwordstring-Database password (typically references ${MYSQL_PASSWORD})
spring.datasource.hikari.connectionTimeoutinteger30000Maximum time (ms) to wait for connection from pool
spring.datasource.hikari.maximumPoolSizeinteger10Maximum number of connections in the pool
spring.flyway.enabledbooleantrueEnable/disable Flyway database migrations
spring.flyway.locationsstringclasspath:db/migrationLocation of Flyway migration scripts
spring.jpa.hibernate.ddl-autostring-Hibernate DDL auto mode (for example, validate, update, create)
spring.jpa.open-in-viewbooleantrueEnable Open Session in View pattern

Server and HTTP Settings

VariableTypeDefaultDescription
server.portinteger8080HTTP port for the application server
server.tomcat.accessLogEnabledbooleanfalseEnable Tomcat access logging
server.tomcat.accessLogPatternstring-Pattern for Tomcat access logs (for example, "%a %t %r %s %b")
server.tomcat.relaxed-query-charsstring-Characters allowed in URL query strings without encoding
spring.mvc.async.request-timeoutinteger-Async request timeout in milliseconds (30 minutes recommended for large CSV exports)

Service Integration

Core Integration

All BFF deployments require integration with the Procivis One Core service.

VariableTypeDefaultDescription
core.enabledboolean-Enable Core service integration
core.urlstring-Core service base URL
core.api.urlstring-Core API endpoint URL (typically ${core.url}/api)
core.api.authenticationstring-Authentication mode: UNSAFE_NONE, UNSAFE_STATIC, or STS
core.api.staticTokenstring-Static authentication token if using UNSAFE_STATIC mode (must match Core's app.authToken or ONE_app__authToken)

Frontend Integration

VariableTypeDefaultDescription
frontend.urlstring-Client-facing frontend domain URL

Authentication

VariableTypeDefaultDescription
auth.modestring-Authentication mode: UNSAFE_NONE, UNSAFE_STATIC, or STS
auth.staticTokenstring-Static authentication token (if using UNSAFE_STATIC mode)
auth.stsTokenValidation.audstring-Expected audience claim for STS token validation
auth.stsTokenValidation.issstring-Expected issuer claim for STS token validation
auth.stsTokenValidation.jwksUristring-JWKS endpoint URL for STS token verification
auth.stsTokenValidation.ttlJwksinteger-Time-to-live for cached JWKS keys (in seconds)

OAuth2/OIDC Client Configuration

Configuration for OAuth2 client registration with Keycloak (or alternative identity provider).

VariableTypeDefaultDescription
spring.security.oauth2.client.registration.keycloakClient.client-idstring-OAuth2 client ID for Keycloak integration
spring.security.oauth2.client.registration.keycloakClient.client-secretstring-OAuth2 client secret for Keycloak integration
spring.security.oauth2.client.registration.keycloakClient.providerstring-OAuth2 provider name (typically keycloak)
spring.security.oauth2.client.registration.keycloakClient.authorization-grant-typestring-OAuth2 grant type (for example, authorization_code, client_credentials)
spring.security.oauth2.client.provider.keycloak.token-uristring-Keycloak token endpoint URL

OIDC Provider Configuration

Configuration for the OIDC provider functionality of this service.

VariableTypeDefaultDescription
oidc.scopesarray-Supported OIDC scopes
oidc.grantTypesarray-Supported OAuth2 grant types
oidc.proof.exchangestring-Verification protocol identifier for credential verification; must reference an entry from verificationProtocol in Core service configuration

Branding and Customization

Customize the login experience with your organization's branding.

VariableTypeDefaultDescription
customer.namestring-Customer/organization name for branding
customer.logostring-URL or path to customer logo
customer.termsstring-URL to terms of service page
customer.privacystring-URL to privacy policy page

Template Engine (Thymeleaf)

Configuration for Thymeleaf template rendering (used for login pages and UI).

VariableTypeDefaultDescription
thymeleaf.cachebooleantrueEnable template caching (set to false for development)
thymeleaf.check-templatebooleantrueCheck that templates exist before rendering
thymeleaf.check-template-locationbooleantrueCheck that template location exists
thymeleaf.content-typestringtext/htmlContent type for rendered templates
thymeleaf.enabledbooleantrueEnable/disable Thymeleaf template engine
thymeleaf.encodingstringUTF-8Character encoding for templates
thymeleaf.modestringHTMLTemplate mode (for example, HTML, XML, TEXT)
thymeleaf.prefixstringclasspath:/templates/Prefix for template file locations
thymeleaf.suffixstring.htmlSuffix for template files
thymeleaf.template-resolver-orderinteger-Order of template resolver in chain

Mobile App Integration

VariableTypeDefaultDescription
appLink.urlstring-Base URL for mobile app deep links
appLink.appUrlstring-Base URL for mobile app deep links
appLink.wallet.android.packageNamestring-Android wallet app package name
appLink.wallet.android.sha256CertFingerPrintstring-SHA-256 certificate fingerprint for Android wallet app
appLink.wallet.ios.appIdstring-iOS wallet app identifier
appLink.verifier.android.packageNamestring-Android verifier app package name
appLink.verifier.android.sha256CertFingerPrintstring-SHA-256 certificate fingerprint for Android verifier app
appLink.verifier.ios.appIdstring-iOS verifier app identifier

History Configuration

VariableTypeDefaultDescription
history.typestring-History storage backend type, only REMOTE_REST supported
history.enabledboolean-Enable/disable history; pushes to Core history endpoint

Management and Monitoring

VariableTypeDefaultDescription
management.endpoints.access.defaultstring-Default access level for management endpoints
management.endpoint.health.probes.enabledboolean-Enable Kubernetes health probes
management.endpoint.health.accessstring-Access level for health endpoint (for example, unrestricted)
management.endpoint.info.accessstring-Access level for info endpoint (for example, unrestricted)
management.endpoint.prometheus.accessstring-Access level for Prometheus metrics endpoint (for example, unrestricted)

API Documentation (Springdoc)

VariableTypeDefaultDescription
springdoc.show-actuatorboolean-Include Spring Boot Actuator endpoints in API docs
springdoc.api-docs.versionstring-OpenAPI specification version (for example, openapi_3_1)
springdoc.packages-to-scanstring-Package names to scan for API documentation
springdoc.paths-to-matchstring-Path patterns to include in API documentation (comma-separated)
springdoc.cache.disabledboolean-Disable API documentation caching
springdoc.swagger-ui.operations-sorterstring-Operation sorting method in Swagger UI (for example, alpha)

Application Configuration

VariableTypeDefaultDescription
spring.application.namestring-Application name identifier
spring.config.importstring-Import additional configuration files (for example, environment-specific properties)
spring.profiles.activestring-Active Spring profile(s)
spring.main.banner-modestringconsoleSpring Boot banner display mode
app.versionstring-Application version identifier
app.stacktrace.enabledboolean-Enable/disable stacktrace in error responses
typestring-Deployment environment type (for example, localdev)

Data Serialization

VariableTypeDefaultDescription
spring.jackson.serialization.write_dates_as_timestampsbooleanfalseSerialize dates as timestamps vs ISO-8601 strings
spring.jackson.deserialization.read-unknown-enum-values-using-default-valuebooleanfalseUse default enum value when encountering unknown enum values during deserialization
spring.jackson.default-property-inclusionstring-Default property inclusion strategy (for example, NON_NULL)

Logging

VariableTypeDefaultDescription
logging.level.org.springframework.securitystring-Log level for Spring Security (for example, DEBUG, INFO, WARN)

Development and Testing

VariableTypeDefaultDescription
test.server.urlstring-Base URL for test server