Class OAuthClientCredentialVendor

java.lang.Object
org.apache.polaris.service.credentials.connection.OAuthClientCredentialVendor
All Implemented Interfaces:
org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor

@RequestScoped @Priority(100) public class OAuthClientCredentialVendor extends Object implements org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor
Connection credential vendor for OAuth 2.0 Client Credentials authentication.

This vendor handles OAuth 2.0 client credentials flow by reading the client secret from the secrets manager and formatting it as an OAuth credential for connecting to external catalogs.

The vendor provides only the OAuth credential (formatted as "clientId:clientSecret"). When connecting to the remote catalog, Iceberg SDK will use this credential to fetch OAuth tokens automatically.

This is the default implementation with @Priority(CredentialVendorPriorities.DEFAULT). Custom implementations can override this by providing a higher priority value.

  • Constructor Details

    • OAuthClientCredentialVendor

      @Inject public OAuthClientCredentialVendor(org.apache.polaris.core.secrets.UserSecretsManager secretsManager)
  • Method Details

    • getConnectionCredentials

      @Nonnull public org.apache.polaris.core.credentials.connection.ConnectionCredentials getConnectionCredentials(@Nonnull org.apache.polaris.core.connection.ConnectionConfigInfoDpo connectionConfig)
      Specified by:
      getConnectionCredentials in interface org.apache.polaris.core.credentials.connection.ConnectionCredentialVendor