Class DefaultServiceIdentityProvider
java.lang.Object
org.apache.polaris.service.identity.provider.DefaultServiceIdentityProvider
- All Implemented Interfaces:
org.apache.polaris.core.identity.provider.ServiceIdentityProvider
@RequestScoped
public class DefaultServiceIdentityProvider
extends Object
implements org.apache.polaris.core.identity.provider.ServiceIdentityProvider
Default implementation of
ServiceIdentityProvider that provides service identity
credentials from statically configured values.
This implementation loads service identity configurations at startup and uses them to provide identity information and credentials on demand. All resolution is done lazily - credentials are only created when actually needed for authentication.
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultServiceIdentityProvider(org.apache.polaris.core.context.RealmContext realmContext, ServiceIdentityConfiguration serviceIdentityConfiguration) -
Method Summary
Modifier and TypeMethodDescriptionOptional<org.apache.polaris.core.identity.dpo.ServiceIdentityInfoDpo> allocateServiceIdentity(org.apache.polaris.core.admin.model.ConnectionConfigInfo connectionConfig) static org.apache.polaris.core.secrets.SecretReferencebuildIdentityInfoReference(String realm, org.apache.polaris.core.identity.ServiceIdentityType type) Builds aSecretReferencefor the given realm and service identity type.Optional<org.apache.polaris.core.identity.credential.ServiceIdentityCredential> getServiceIdentityCredential(org.apache.polaris.core.identity.dpo.ServiceIdentityInfoDpo serviceIdentityInfo) Optional<org.apache.polaris.core.admin.model.ServiceIdentityInfo> getServiceIdentityInfo(org.apache.polaris.core.identity.dpo.ServiceIdentityInfoDpo serviceIdentityInfo)
-
Field Details
-
DEFAULT_REALM_KEY
- See Also:
-
DEFAULT_REALM_NSS
- See Also:
-
-
Constructor Details
-
DefaultServiceIdentityProvider
public DefaultServiceIdentityProvider() -
DefaultServiceIdentityProvider
@Inject public DefaultServiceIdentityProvider(org.apache.polaris.core.context.RealmContext realmContext, ServiceIdentityConfiguration serviceIdentityConfiguration)
-
-
Method Details
-
allocateServiceIdentity
public Optional<org.apache.polaris.core.identity.dpo.ServiceIdentityInfoDpo> allocateServiceIdentity(@Nonnull org.apache.polaris.core.admin.model.ConnectionConfigInfo connectionConfig) - Specified by:
allocateServiceIdentityin interfaceorg.apache.polaris.core.identity.provider.ServiceIdentityProvider
-
getServiceIdentityInfo
public Optional<org.apache.polaris.core.admin.model.ServiceIdentityInfo> getServiceIdentityInfo(@Nonnull org.apache.polaris.core.identity.dpo.ServiceIdentityInfoDpo serviceIdentityInfo) - Specified by:
getServiceIdentityInfoin interfaceorg.apache.polaris.core.identity.provider.ServiceIdentityProvider
-
getServiceIdentityCredential
public Optional<org.apache.polaris.core.identity.credential.ServiceIdentityCredential> getServiceIdentityCredential(@Nonnull org.apache.polaris.core.identity.dpo.ServiceIdentityInfoDpo serviceIdentityInfo) - Specified by:
getServiceIdentityCredentialin interfaceorg.apache.polaris.core.identity.provider.ServiceIdentityProvider
-
getRealmConfig
-
buildIdentityInfoReference
public static org.apache.polaris.core.secrets.SecretReference buildIdentityInfoReference(String realm, org.apache.polaris.core.identity.ServiceIdentityType type) Builds aSecretReferencefor the given realm and service identity type.The URN format is: urn:polaris-secret:default-identity-provider:<realm>:<type>
If the realm is the default realm key, it is replaced with "system:default" in the URN.
- Parameters:
realm- the realm identifiertype- the service identity type- Returns:
- the constructed secret reference for this service identity
-