Package com.google.auth.oauth2
Class GoogleCredentials
- java.lang.Object
-
- com.google.auth.Credentials
-
- com.google.auth.oauth2.OAuth2Credentials
-
- com.google.auth.oauth2.GoogleCredentials
-
- All Implemented Interfaces:
QuotaProjectIdProvider
,Serializable
- Direct Known Subclasses:
AppEngineCredentials
,CloudShellCredentials
,ComputeEngineCredentials
,ExternalAccountAuthorizedUserCredentials
,ExternalAccountCredentials
,GdchCredentials
,ImpersonatedCredentials
,ServiceAccountCredentials
,UserCredentials
public class GoogleCredentials extends OAuth2Credentials implements QuotaProjectIdProvider
Base type for credentials for authorizing calls to Google APIs using OAuth2.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
GoogleCredentials.Builder
-
Nested classes/interfaces inherited from class com.google.auth.oauth2.OAuth2Credentials
OAuth2Credentials.CredentialsChangedListener
-
-
Field Summary
Fields Modifier and Type Field Description protected String
quotaProjectId
-
Constructor Summary
Constructors Modifier Constructor Description protected
GoogleCredentials()
Default constructor.GoogleCredentials(AccessToken accessToken)
Constructor with explicit access token.protected
GoogleCredentials(AccessToken accessToken, String quotaProjectId)
protected
GoogleCredentials(AccessToken accessToken, Duration refreshMargin, Duration expirationMargin)
Constructor with explicit access token and refresh timesprotected
GoogleCredentials(GoogleCredentials.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GoogleCredentials
create(AccessToken accessToken)
Returns the credentials instance from the given access token.GoogleCredentials
createDelegated(String user)
If the credentials support domain-wide delegation, creates a copy of the identity so that it impersonates the specified user; otherwise, returns the same instance.GoogleCredentials
createScoped(String... scopes)
If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.GoogleCredentials
createScoped(Collection<String> scopes)
If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.GoogleCredentials
createScoped(Collection<String> scopes, Collection<String> defaultScopes)
If the credentials support scopes, creates a copy of the identity with the specified scopes and default scopes; otherwise, returns the same instance.boolean
createScopedRequired()
Indicates whether the credentials require scopes to be specified via a call tocreateScoped(java.util.Collection<java.lang.String>)
before use.GoogleCredentials
createWithCustomRetryStrategy(boolean defaultRetriesEnabled)
If the credentials support automatic retries, creates a copy of the identity with the provided retry strategyGoogleCredentials
createWithQuotaProject(String quotaProject)
Creates a credential with the provided quota project.static GoogleCredentials
fromStream(InputStream credentialsStream)
Returns credentials defined by a JSON file stream.static GoogleCredentials
fromStream(InputStream credentialsStream, HttpTransportFactory transportFactory)
Returns credentials defined by a JSON file stream.protected Map<String,List<String>>
getAdditionalHeaders()
Provide additional headers to return as request metadata.static GoogleCredentials
getApplicationDefault()
Returns the Application Default Credentials.static GoogleCredentials
getApplicationDefault(HttpTransportFactory transportFactory)
Returns the Application Default Credentials.String
getQuotaProjectId()
static GoogleCredentials.Builder
newBuilder()
GoogleCredentials.Builder
toBuilder()
-
Methods inherited from class com.google.auth.oauth2.OAuth2Credentials
addChangeListener, equals, getAccessToken, getAuthenticationType, getFromServiceLoader, getRequestMetadata, getRequestMetadata, getRequestMetadataInternal, hashCode, hasRequestMetadata, hasRequestMetadataOnly, newInstance, refresh, refreshAccessToken, refreshIfExpired, removeChangeListener, toString
-
Methods inherited from class com.google.auth.Credentials
blockingGetToCallback, getRequestMetadata
-
-
-
-
Field Detail
-
quotaProjectId
protected final String quotaProjectId
-
-
Constructor Detail
-
GoogleCredentials
protected GoogleCredentials()
Default constructor.
-
GoogleCredentials
protected GoogleCredentials(AccessToken accessToken, String quotaProjectId)
-
GoogleCredentials
public GoogleCredentials(AccessToken accessToken)
Constructor with explicit access token.- Parameters:
accessToken
- initial or temporary access token
-
GoogleCredentials
protected GoogleCredentials(GoogleCredentials.Builder builder)
-
GoogleCredentials
protected GoogleCredentials(AccessToken accessToken, Duration refreshMargin, Duration expirationMargin)
Constructor with explicit access token and refresh times- Parameters:
accessToken
- initial or temporary access token
-
-
Method Detail
-
create
public static GoogleCredentials create(AccessToken accessToken)
Returns the credentials instance from the given access token.- Parameters:
accessToken
- the access token- Returns:
- the credentials instance
-
getApplicationDefault
public static GoogleCredentials getApplicationDefault() throws IOException
Returns the Application Default Credentials.Returns the Application Default Credentials which are used to identify and authorize the whole application. The following are searched (in order) to find the Application Default Credentials:
- Credentials file pointed to by the
GOOGLE_APPLICATION_CREDENTIALS
environment variable - Credentials provided by the Google Cloud SDK.
gcloud auth application-default login
for user account credentials.gcloud auth application-default login --impersonate-service-account
for impersonated service account credentials.
- Google App Engine built-in credentials
- Google Cloud Shell built-in credentials
- Google Compute Engine built-in credentials
- Returns:
- the credentials instance.
- Throws:
IOException
- if the credentials cannot be created in the current environment.
- Credentials file pointed to by the
-
getApplicationDefault
public static GoogleCredentials getApplicationDefault(HttpTransportFactory transportFactory) throws IOException
Returns the Application Default Credentials.Returns the Application Default Credentials which are used to identify and authorize the whole application. The following are searched (in order) to find the Application Default Credentials:
- Credentials file pointed to by the
GOOGLE_APPLICATION_CREDENTIALS
environment variable - Credentials provided by the Google Cloud SDK
gcloud auth application-default login
command - Google App Engine built-in credentials
- Google Cloud Shell built-in credentials
- Google Compute Engine built-in credentials
- Parameters:
transportFactory
- HTTP transport factory, creates the transport used to get access tokens.- Returns:
- the credentials instance.
- Throws:
IOException
- if the credentials cannot be created in the current environment.
- Credentials file pointed to by the
-
fromStream
public static GoogleCredentials fromStream(InputStream credentialsStream) throws IOException
Returns credentials defined by a JSON file stream.The stream can contain a Service Account key file in JSON format from the Google Developers Console or a stored user credential using the format supported by the Cloud SDK.
- Parameters:
credentialsStream
- the stream with the credential definition.- Returns:
- the credential defined by the credentialsStream.
- Throws:
IOException
- if the credential cannot be created from the stream.
-
fromStream
public static GoogleCredentials fromStream(InputStream credentialsStream, HttpTransportFactory transportFactory) throws IOException
Returns credentials defined by a JSON file stream.The stream can contain a Service Account key file in JSON format from the Google Developers Console or a stored user credential using the format supported by the Cloud SDK.
- Parameters:
credentialsStream
- the stream with the credential definition.transportFactory
- HTTP transport factory, creates the transport used to get access tokens.- Returns:
- the credential defined by the credentialsStream.
- Throws:
IOException
- if the credential cannot be created from the stream.
-
createWithQuotaProject
public GoogleCredentials createWithQuotaProject(String quotaProject)
Creates a credential with the provided quota project.- Parameters:
quotaProject
- the quota project to set on the credential- Returns:
- credential with the provided quota project
-
getAdditionalHeaders
protected Map<String,List<String>> getAdditionalHeaders()
Description copied from class:OAuth2Credentials
Provide additional headers to return as request metadata.- Overrides:
getAdditionalHeaders
in classOAuth2Credentials
- Returns:
- additional headers
-
newBuilder
public static GoogleCredentials.Builder newBuilder()
-
toBuilder
public GoogleCredentials.Builder toBuilder()
- Overrides:
toBuilder
in classOAuth2Credentials
-
getQuotaProjectId
public String getQuotaProjectId()
- Specified by:
getQuotaProjectId
in interfaceQuotaProjectIdProvider
- Returns:
- the quota project ID used for quota and billing purposes
-
createScopedRequired
public boolean createScopedRequired()
Indicates whether the credentials require scopes to be specified via a call tocreateScoped(java.util.Collection<java.lang.String>)
before use.- Returns:
- Whether the credentials require scopes to be specified.
-
createScoped
public GoogleCredentials createScoped(Collection<String> scopes)
If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.- Parameters:
scopes
- Collection of scopes to request.- Returns:
- GoogleCredentials with requested scopes.
-
createScoped
public GoogleCredentials createScoped(Collection<String> scopes, Collection<String> defaultScopes)
If the credentials support scopes, creates a copy of the identity with the specified scopes and default scopes; otherwise, returns the same instance. This is mainly used by client libraries.- Parameters:
scopes
- Collection of scopes to request.defaultScopes
- Collection of default scopes to request.- Returns:
- GoogleCredentials with requested scopes.
-
createScoped
public GoogleCredentials createScoped(String... scopes)
If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.- Parameters:
scopes
- Collection of scopes to request.- Returns:
- GoogleCredentials with requested scopes.
-
createWithCustomRetryStrategy
public GoogleCredentials createWithCustomRetryStrategy(boolean defaultRetriesEnabled)
If the credentials support automatic retries, creates a copy of the identity with the provided retry strategy- Parameters:
defaultRetriesEnabled
- a flag enabling or disabling default retries- Returns:
- GoogleCredentials with the new default retries configuration.
-
createDelegated
public GoogleCredentials createDelegated(String user)
If the credentials support domain-wide delegation, creates a copy of the identity so that it impersonates the specified user; otherwise, returns the same instance.- Parameters:
user
- User to impersonate.- Returns:
- GoogleCredentials with a delegated user.
-
-