...
- Provide high level details like name and description.
- Define credential store properties. Properties are configuration values that will be utilized to connect to credential store, which is reused to retrieve all credentials for one instance of credential store. Properties are optional as all access details might be coded in API implementation.
- If you define properties, you can indicate display and validation details. You can also indicate if property is required and/or encrypted.
- Define credential inputs. You must have at least one input. Inputs are defined for each credential. For example, inputs to retrieve Endpoint1 password might be different than Endpoint2 password.
- If you define properties, you can indicate display and validation details. You can also indicate if property is required and/or encrypted.
- Provide either Java Implementation of Groovy API.
API Implementation
Implementation will use Properties and Inputs to retrieve specific credential. API is invoked for each credential lookup. You will simply connect to external credential store using property values and retrieve credential using inputs provided in api call.
Let's define example credential store provider, so we can easily explain concepts. You can provide implementation as Java class or just Groovy script. Groovy script would allow for dynamic update but use of Java code will require restart of server.
Let's define example credential store provider, so we can easily explain concepts.
Here we are creating custom provider with one input, you can add more as necessary.
...
Now let's put some Groovy code to retrieve credential. This example just shows procedural steps, you will first connect to credential store then retrieve and return credential value from this script.
API Implementation
Implementation will use Properties and Inputs to retrieve specific credential. API is invoked for each credential lookup. You will simply connect to external credential store using property values and retrieve credential using inputs provided in api call.
Java Implementation
Here are high level steps for Java implementation. You can use any IDE to prepare this implementation.
...