Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Credential Store Provider encapsulates logic required to retrieve credential credentials from a specific type of store. There are few providers available out of box, and you can define custom implementations using either Java class or Groovy script. Provider will define properties necessary to connect to credential store as well inputs necessary for each credential.

Here are out of box credential store providers. You can view this screen by clicking on the Providers button on the Credentials page (Administration - Security - Credentials)

Image RemovedImage Added

Local credential store retrieves credentials from FlexDeploy database, credentials are encrypted in FlexDeploy database. You can view details on other credential store providers on Credential Store page. Credential Store Providers screen allows you to view details on out of box providers as well, but you are not allowed to change out of box credential store providers. You can create additional credential store providers as necessary.

...

  • Create java class that extends flexagon.fd.model.integration.credstore.CredentialStore. See example below.

...

  • In order to compile your java class, you will need FlexDeployCredStoreFlexDeployAPI.jar on classpath.
  • Implement getSecret method to return secret value for inputs provider in Map<String, Serializable> method input.
    • String key for the map is Input Name configured on credential store provider screen.
    • Serializable value for each map item is value configured for specific input. You will receive data types like String, Boolean, Double and Integer.
    • You can use property values by invoking getCSInstanceProperties() method which will return Map<String, Serializable> representing property values configured for credential store. Similar to inputs, this map has property name for key. 
    • If you encounter an issue with accessing credential store you can throw exception. For example, throw new FlexCheckedExceptionApiException("Failed to get credential", e);
  • Once you are ready with unit testing, you can prepare Jar file for your credential store java class and other utility classes. This jar file can be placed on server classpath now.
    • For Tomcat, put this jar file in apache-tomcat-flexdeploy/lib folder.
    • For WebLogic, put this jar file in Domain lib folder.
    • If you are using any third party libraries from your Java implementation, then those jar files will also need to be added to same lib folder. Keep in mind that this can cause issues with server functioning, so be prepared to remove your additional library files.

...