Interface CredentialProvider

All Superinterfaces:
PluginProvider
All Known Subinterfaces:
CredentialProvider

public interface CredentialProvider extends PluginProvider
Provides an interface for defining custom external Credential Stores. An example might be to store secure passwords/credentials for interfacing with other integrations or clouds using a third party secrets management system such as CyberArk or HashiCorp Vault
Since:
0.15.1
  • Method Details

    • getIcon

      Icon getIcon()
      Returns the Credential Integration logo for display when a user needs to view or add this integration
      Returns:
      Icon representation of assets stored in the src/assets of the project.
      Since:
      0.12.3
    • getIntegrationOptionTypes

      List<OptionType> getIntegrationOptionTypes()
      Provide custom configuration options when creating a new AccountIntegration
      Returns:
      a List of OptionType
    • verify

      ServiceResponse<Map> verify(AccountIntegration integration, Map opts)
      Validation Method used to validate all inputs applied to the integration of an Credential Provider upon save. If an input fails validation or authentication information cannot be verified, Error messages should be returned via a ServiceResponse object where the key on the error is the field name and the value is the error message. If the error is a generic authentication error or unknown error, a standard message can also be sent back in the response.
      Parameters:
      integration - The Integration Object contains all the saved information regarding configuration of the Credential Provider.
      opts - any custom payload submission options may exist here
      Returns:
      A response is returned depending on if the inputs are valid or not.
    • refresh

      void refresh(AccountIntegration integration)
      Periodically called to test the status of the credential provider.
      Parameters:
      integration - the referenced integration object to be loaded
    • loadCredentialData

      ServiceResponse<Map> loadCredentialData(AccountIntegration integration, AccountCredential credential, Map opts)
      Used to load credential information on the fly from the datastore. The data map should be the credential data to be loaded on the fly
      Parameters:
      integration - the referenced integration object to be loaded
      credential - the credential reference to be loaded.
      opts - any custom options such as proxySettings if necessary (future use)
      Returns:
    • deleteCredential

      ServiceResponse<AccountCredential> deleteCredential(AccountIntegration integration, AccountCredential credential, Map opts)
      Deletes the credential on the remote integration.
      Parameters:
      integration - the referenced integration object containing information necessary to connect to the endpoint
      credential - the credential to be deleted
      opts - any custom options such as proxySettings if necessary (future use)
      Returns:
    • createCredential

      ServiceResponse<AccountCredential> createCredential(AccountIntegration integration, AccountCredential credential, Map opts)
      Creates the credential on the remote integration.
      Parameters:
      integration - the referenced integration object containing information necessary to connect to the endpoint
      credential - the credential to be created
      opts - any custom options such as proxySettings if necessary (future use)
      Returns:
    • updateCredential

      ServiceResponse<AccountCredential> updateCredential(AccountIntegration integration, AccountCredential credential, Map opts)
      Updates the credential on the remote integration.
      Parameters:
      integration - the referenced integration object containing information necessary to connect to the endpoint
      credential - the credential to be updated
      opts - any custom options such as proxySettings if necessary (future use)
      Returns: