Class ExternalAccountCredentials.Builder (1.7.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
Name Description
credentials ExternalAccountCredentials

Fields

audience

protected String audience
Field Value
Type Description
String

clientId

protected String clientId
Field Value
Type Description
String

clientSecret

protected String clientSecret
Field Value
Type Description
String

credentialSource

protected ExternalAccountCredentials.CredentialSource credentialSource
Field Value
Type Description
com.google.auth.oauth2.ExternalAccountCredentials.CredentialSource

environmentProvider

protected EnvironmentProvider environmentProvider
Field Value
Type Description
com.google.auth.oauth2.EnvironmentProvider

quotaProjectId

protected String quotaProjectId
Field Value
Type Description
String

scopes

protected Collection<String> scopes
Field Value
Type Description
Collection<String>

serviceAccountImpersonationUrl

protected String serviceAccountImpersonationUrl
Field Value
Type Description
String

subjectTokenType

protected String subjectTokenType
Field Value
Type Description
String

tokenInfoUrl

protected String tokenInfoUrl
Field Value
Type Description
String

tokenUrl

protected String tokenUrl
Field Value
Type Description
String

transportFactory

protected HttpTransportFactory transportFactory
Field Value
Type Description
HttpTransportFactory

workforcePoolUserProject

protected String workforcePoolUserProject
Field Value
Type Description
String

Methods

build()

public abstract ExternalAccountCredentials build()
Returns
Type Description
ExternalAccountCredentials
Overrides

setAudience(String audience)

public ExternalAccountCredentials.Builder setAudience(String audience)

Sets the Security Token Service audience, which is usually the fully specified resource name of the workload/workforce pool provider.

Parameter
Name Description
audience String
Returns
Type Description
ExternalAccountCredentials.Builder

setClientId(String clientId)

public ExternalAccountCredentials.Builder setClientId(String clientId)

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

Parameter
Name Description
clientId String
Returns
Type Description
ExternalAccountCredentials.Builder

setClientSecret(String clientSecret)

public ExternalAccountCredentials.Builder setClientSecret(String clientSecret)

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

Parameter
Name Description
clientSecret String
Returns
Type Description
ExternalAccountCredentials.Builder

setCredentialSource(ExternalAccountCredentials.CredentialSource credentialSource)

public ExternalAccountCredentials.Builder setCredentialSource(ExternalAccountCredentials.CredentialSource credentialSource)

Sets the external credential source.

Parameter
Name Description
credentialSource com.google.auth.oauth2.ExternalAccountCredentials.CredentialSource
Returns
Type Description
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
Name Description
transportFactory HttpTransportFactory
Returns
Type Description
ExternalAccountCredentials.Builder

setQuotaProjectId(String quotaProjectId)

public ExternalAccountCredentials.Builder setQuotaProjectId(String quotaProjectId)

Sets the optional project used for quota and billing purposes.

Parameter
Name Description
quotaProjectId String
Returns
Type Description
ExternalAccountCredentials.Builder

setScopes(Collection<String> scopes)

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

Sets the optional scopes to request during the authorization grant.

Parameter
Name Description
scopes Collection<String>
Returns
Type Description
ExternalAccountCredentials.Builder

setServiceAccountImpersonationUrl(String serviceAccountImpersonationUrl)

public ExternalAccountCredentials.Builder setServiceAccountImpersonationUrl(String serviceAccountImpersonationUrl)

Sets the optional URL used for service account impersonation, which is required for some APIs. If this URL is not available, the access token from the Security Token Service is used directly.

Parameter
Name Description
serviceAccountImpersonationUrl String
Returns
Type Description
ExternalAccountCredentials.Builder

setSubjectTokenType(String subjectTokenType)

public ExternalAccountCredentials.Builder setSubjectTokenType(String subjectTokenType)

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

Parameter
Name Description
subjectTokenType String
Returns
Type Description
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
Name Description
tokenInfoUrl String
Returns
Type Description
ExternalAccountCredentials.Builder

setTokenUrl(String tokenUrl)

public ExternalAccountCredentials.Builder setTokenUrl(String tokenUrl)

Sets the Security Token Service token exchange endpoint.

Parameter
Name Description
tokenUrl String
Returns
Type Description
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
Name Description
workforcePoolUserProject String
Returns
Type Description
ExternalAccountCredentials.Builder