Class ExternalAccountCredentials.Builder (1.6.0)

public abstract static class ExternalAccountCredentials.Builder extends GoogleCredentials.Builder

Base builder for external account credentials.

Inheritance

java.lang.Object > OAuth2Credentials.Builder > GoogleCredentials.Builder > ExternalAccountCredentials.Builder

Constructors

Builder()

protected Builder()

Builder(ExternalAccountCredentials credentials)

protected Builder(ExternalAccountCredentials credentials)
Parameter
NameDescription
credentialsExternalAccountCredentials

Fields

audience

protected String audience
Field Value
TypeDescription
String

clientId

protected String clientId
Field Value
TypeDescription
String

clientSecret

protected String clientSecret
Field Value
TypeDescription
String

credentialSource

protected ExternalAccountCredentials.CredentialSource credentialSource
Field Value
TypeDescription
com.google.auth.oauth2.ExternalAccountCredentials.CredentialSource

environmentProvider

protected EnvironmentProvider environmentProvider
Field Value
TypeDescription
com.google.auth.oauth2.EnvironmentProvider

quotaProjectId

protected String quotaProjectId
Field Value
TypeDescription
String

scopes

protected Collection<String> scopes
Field Value
TypeDescription
Collection<String>

serviceAccountImpersonationUrl

protected String serviceAccountImpersonationUrl
Field Value
TypeDescription
String

subjectTokenType

protected String subjectTokenType
Field Value
TypeDescription
String

tokenInfoUrl

protected String tokenInfoUrl
Field Value
TypeDescription
String

tokenUrl

protected String tokenUrl
Field Value
TypeDescription
String

transportFactory

protected HttpTransportFactory transportFactory
Field Value
TypeDescription
HttpTransportFactory

workforcePoolUserProject

protected String workforcePoolUserProject
Field Value
TypeDescription
String

Methods

build()

public abstract ExternalAccountCredentials build()
Returns
TypeDescription
ExternalAccountCredentials
Overrides

setAudience(String audience)

public ExternalAccountCredentials.Builder setAudience(String audience)

Sets the STS audience which is usually the fully specified resource name of the workload/workforce pool provider.

Parameter
NameDescription
audienceString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setClientId(String clientId)

public ExternalAccountCredentials.Builder setClientId(String clientId)

Sets the optional client ID of the service account from the console.

Parameter
NameDescription
clientIdString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setClientSecret(String clientSecret)

public ExternalAccountCredentials.Builder setClientSecret(String clientSecret)

Sets the optional client secret of the service account from the console.

Parameter
NameDescription
clientSecretString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setCredentialSource(ExternalAccountCredentials.CredentialSource credentialSource)

public ExternalAccountCredentials.Builder setCredentialSource(ExternalAccountCredentials.CredentialSource credentialSource)

Sets the external credential source.

Parameter
NameDescription
credentialSourcecom.google.auth.oauth2.ExternalAccountCredentials.CredentialSource
Returns
TypeDescription
ExternalAccountCredentials.Builder

setHttpTransportFactory(HttpTransportFactory transportFactory)

public ExternalAccountCredentials.Builder setHttpTransportFactory(HttpTransportFactory transportFactory)

Sets the HTTP transport factory, creates the transport used to get access tokens.

Parameter
NameDescription
transportFactoryHttpTransportFactory
Returns
TypeDescription
ExternalAccountCredentials.Builder

setQuotaProjectId(String quotaProjectId)

public ExternalAccountCredentials.Builder setQuotaProjectId(String quotaProjectId)

Sets the optional project used for quota and billing purposes.

Parameter
NameDescription
quotaProjectIdString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setScopes(Collection<String> scopes)

public ExternalAccountCredentials.Builder setScopes(Collection<String> scopes)

Sets the optional scopes to request during the authorization grant.

Parameter
NameDescription
scopesCollection<String>
Returns
TypeDescription
ExternalAccountCredentials.Builder

setServiceAccountImpersonationUrl(String serviceAccountImpersonationUrl)

public ExternalAccountCredentials.Builder setServiceAccountImpersonationUrl(String serviceAccountImpersonationUrl)

Sets the optional URL used for service account impersonation. This is only required when APIs to be accessed have not integrated with UberMint. If this is not available, the STS returned GCP access token is directly used.

Parameter
NameDescription
serviceAccountImpersonationUrlString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setSubjectTokenType(String subjectTokenType)

public ExternalAccountCredentials.Builder setSubjectTokenType(String subjectTokenType)

Sets the STS subject token type based on the OAuth 2.0 token exchange spec. Indicates the type of the security token in the credential file.

Parameter
NameDescription
subjectTokenTypeString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setTokenInfoUrl(String tokenInfoUrl)

public ExternalAccountCredentials.Builder setTokenInfoUrl(String tokenInfoUrl)

Sets the optional endpoint used to retrieve account related information. Required for gCloud session account identification.

Parameter
NameDescription
tokenInfoUrlString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setTokenUrl(String tokenUrl)

public ExternalAccountCredentials.Builder setTokenUrl(String tokenUrl)

Sets the STS token exchange endpoint.

Parameter
NameDescription
tokenUrlString
Returns
TypeDescription
ExternalAccountCredentials.Builder

setWorkforcePoolUserProject(String workforcePoolUserProject)

public ExternalAccountCredentials.Builder setWorkforcePoolUserProject(String workforcePoolUserProject)

Sets the optional workforce pool user project number when the credential corresponds to a workforce pool and not a workload identity pool. The underlying principal must still have serviceusage.services.use IAM permission to use the project for billing/quota.

Parameter
NameDescription
workforcePoolUserProjectString
Returns
TypeDescription
ExternalAccountCredentials.Builder