Persistable properties

It is possible to make Onegini IDP application to store some of the properties within the file system. It can be achieved by defining two, related with each other, properties where first one represents the destination path and the second Base64 encoded contents.

Naming convention

Persistable properties names are following below naming convention {PERSISTABLE_PROPERTY_PREFIX}.{CONTEXT}.{PERSISTABLE_PROPERTY_SUFFIX}.

PERSISTABLE_PROPERTY_PREFIX - persistable property prefix is constant and equal to persistable.property

CONTEXT - custom part, can be used to provide some readable description allowing to easily distinguish and recognize particular property, ex. application.kestore

PERSISTABLE_PROPERTY_SUFFIX - persistable property suffix, depending on the property responsibility, can take either path or contents value

Following above description, in order to store an application.kestore file within filesystem following properties must be defined:

persistable.property.application.kestore.path="/path/to/myApplication.keystore" persistable.property.application.kestore.contents="cGVyc2lzdGFibGUgcHJvcGVydHkgdmFsdWU="

Rules

It is a hard requirement that persistable properties must always be defined in pairs (path:contents), the Onegini IDP application will crash during startup by throwing ConfigurationException in case:

  • one of the properties is missing, either path or contents
  • the contents property is NOT a valid Base64 encoded string
  • the application will fail to store/create file due to security issues (permissions)