Class MutableCredentials (6.116.0)

public class MutableCredentials extends Credentials

A mutable Credentials implementation that delegates authentication behavior to a scoped ServiceAccountCredentials instance.

This class is intended for scenarios where an application needs to replace the underlying service account credentials for a long-running Spanner Client.

All operations inherited from Credentials are forwarded to the current delegate, including request metadata retrieval and token refresh. Calling #updateCredentials(ServiceAccountCredentials) replaces the delegate with a newly scoped credentials instance created from the same scopes that were provided when this object was constructed.

Inheritance

java.lang.Object > com.google.auth.Credentials > MutableCredentials

Constructors

MutableCredentials(ServiceAccountCredentials credentials)

public MutableCredentials(ServiceAccountCredentials credentials)

Creates a MutableCredentials instance with default spanner scopes.

Parameter
Name Description
credentials com.google.auth.oauth2.ServiceAccountCredentials

MutableCredentials(ServiceAccountCredentials credentials, Set<String> scopes)

public MutableCredentials(ServiceAccountCredentials credentials, Set<String> scopes)
Parameters
Name Description
credentials com.google.auth.oauth2.ServiceAccountCredentials
scopes Set<String>

Methods

getAuthenticationType()

public String getAuthenticationType()
Returns
Type Description
String
Overrides
com.google.auth.Credentials.getAuthenticationType()

getMetricsCredentialType()

public CredentialTypeForMetrics getMetricsCredentialType()
Returns
Type Description
com.google.auth.CredentialTypeForMetrics
Overrides
com.google.auth.Credentials.getMetricsCredentialType()

getRequestMetadata(URI uri)

public Map<String,List<String>> getRequestMetadata(URI uri)
Parameter
Name Description
uri URI
Returns
Type Description
Map<String,List<String>>
Overrides
com.google.auth.Credentials.getRequestMetadata(java.net.URI)
Exceptions
Type Description
IOException

getRequestMetadata(URI uri, Executor executor, RequestMetadataCallback callback)

public void getRequestMetadata(URI uri, Executor executor, RequestMetadataCallback callback)
Parameters
Name Description
uri URI
executor Executor
callback com.google.auth.RequestMetadataCallback
Overrides
com.google.auth.Credentials.getRequestMetadata(java.net.URI,java.util.concurrent.Executor,com.google.auth.RequestMetadataCallback)

getUniverseDomain()

public String getUniverseDomain()
Returns
Type Description
String
Overrides
com.google.auth.Credentials.getUniverseDomain()
Exceptions
Type Description
IOException

hasRequestMetadata()

public boolean hasRequestMetadata()
Returns
Type Description
boolean
Overrides
com.google.auth.Credentials.hasRequestMetadata()

hasRequestMetadataOnly()

public boolean hasRequestMetadataOnly()
Returns
Type Description
boolean
Overrides
com.google.auth.Credentials.hasRequestMetadataOnly()

refresh()

public void refresh()
Overrides
com.google.auth.Credentials.refresh()
Exceptions
Type Description
IOException

updateCredentials(ServiceAccountCredentials credentials)

public void updateCredentials(ServiceAccountCredentials credentials)

Replaces the current delegate with a newly scoped credentials instance.

Note any in-flight RPC may continue to use the old credentials.

The provided ServiceAccountCredentials is scoped using the same scopes that were supplied when this MutableCredentials instance was created.

Parameter
Name Description
credentials com.google.auth.oauth2.ServiceAccountCredentials

the new base service account credentials to scope and use for client authorization.