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 Summary
ConstructorsConstructorDescriptionOAuthClientCredentialVendor(org.apache.polaris.core.secrets.UserSecretsManager secretsManager) -
Method Summary
Modifier and TypeMethodDescriptionorg.apache.polaris.core.credentials.connection.ConnectionCredentialsgetConnectionCredentials(org.apache.polaris.core.connection.ConnectionConfigInfoDpo connectionConfig)
-
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:
getConnectionCredentialsin interfaceorg.apache.polaris.core.credentials.connection.ConnectionCredentialVendor
-