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 classGoogleCredentials.Builder-
Nested classes/interfaces inherited from class com.google.auth.oauth2.OAuth2Credentials
OAuth2Credentials.CredentialsChangedListener
-
-
Field Summary
Fields Modifier and Type Field Description protected StringquotaProjectId
-
Constructor Summary
Constructors Modifier Constructor Description protectedGoogleCredentials()Default constructor.GoogleCredentials(AccessToken accessToken)Constructor with explicit access token.protectedGoogleCredentials(AccessToken accessToken, String quotaProjectId)protectedGoogleCredentials(AccessToken accessToken, Duration refreshMargin, Duration expirationMargin)Constructor with explicit access token and refresh timesprotectedGoogleCredentials(GoogleCredentials.Builder builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static GoogleCredentialscreate(AccessToken accessToken)Returns the credentials instance from the given access token.GoogleCredentialscreateDelegated(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.GoogleCredentialscreateScoped(String... scopes)If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.GoogleCredentialscreateScoped(Collection<String> scopes)If the credentials support scopes, creates a copy of the identity with the specified scopes; otherwise, returns the same instance.GoogleCredentialscreateScoped(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.booleancreateScopedRequired()Indicates whether the credentials require scopes to be specified via a call tocreateScoped(java.util.Collection<java.lang.String>)before use.GoogleCredentialscreateWithCustomRetryStrategy(boolean defaultRetriesEnabled)If the credentials support automatic retries, creates a copy of the identity with the provided retry strategyGoogleCredentialscreateWithQuotaProject(String quotaProject)Creates a credential with the provided quota project.static GoogleCredentialsfromStream(InputStream credentialsStream)Returns credentials defined by a JSON file stream.static GoogleCredentialsfromStream(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 GoogleCredentialsgetApplicationDefault()Returns the Application Default Credentials.static GoogleCredentialsgetApplicationDefault(HttpTransportFactory transportFactory)Returns the Application Default Credentials.StringgetQuotaProjectId()static GoogleCredentials.BuildernewBuilder()GoogleCredentials.BuildertoBuilder()-
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_CREDENTIALSenvironment variable - Credentials provided by the Google Cloud SDK.
gcloud auth application-default loginfor user account credentials.gcloud auth application-default login --impersonate-service-accountfor 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_CREDENTIALSenvironment variable - Credentials provided by the Google Cloud SDK
gcloud auth application-default logincommand - 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:OAuth2CredentialsProvide additional headers to return as request metadata.- Overrides:
getAdditionalHeadersin classOAuth2Credentials- Returns:
- additional headers
-
newBuilder
public static GoogleCredentials.Builder newBuilder()
-
toBuilder
public GoogleCredentials.Builder toBuilder()
- Overrides:
toBuilderin classOAuth2Credentials
-
getQuotaProjectId
public String getQuotaProjectId()
- Specified by:
getQuotaProjectIdin 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.
-
-