Class UserCredentials

All Implemented Interfaces:
IdTokenProvider, QuotaProjectIdProvider, Serializable

public class UserCredentials extends GoogleCredentials implements IdTokenProvider
OAuth2 Credentials representing a user's identity and consent.
See Also:
  • Method Details

    • getMetricsCredentialType

      public CredentialTypeForMetrics getMetricsCredentialType()
      Overrides:
      getMetricsCredentialType in class Credentials
    • fromStream

      public static UserCredentials fromStream(InputStream credentialsStream) throws IOException
      Returns credentials defined by a JSON file stream 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 UserCredentials fromStream(InputStream credentialsStream, HttpTransportFactory transportFactory) throws IOException
      Returns credentials defined by a JSON file stream 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.
    • refreshAccessToken

      public AccessToken refreshAccessToken() throws IOException
      Refreshes the OAuth2 access token by getting a new access token from the refresh token
      Overrides:
      refreshAccessToken in class OAuth2Credentials
      Returns:
      never
      Throws:
      IOException
    • idTokenWithAudience

      public IdToken idTokenWithAudience(String targetAudience, List<IdTokenProvider.Option> options) throws IOException
      Returns a Google ID Token from the refresh token response.
      Specified by:
      idTokenWithAudience in interface IdTokenProvider
      Parameters:
      targetAudience - This can't be used for UserCredentials.
      options - list of Credential specific options for the token. Currently unused for UserCredentials.
      Returns:
      IdToken object which includes the raw id_token, expiration and audience
      Throws:
      IOException - if the attempt to get an IdToken failed
    • getClientId

      public final String getClientId()
      Returns client ID of the credential from the console.
      Returns:
      client ID
    • getClientSecret

      public final String getClientSecret()
      Returns client secret of the credential from the console.
      Returns:
      client secret
    • getRefreshToken

      public final String getRefreshToken()
      Returns the refresh token resulting from a OAuth2 consent flow.
      Returns:
      refresh token
    • save

      public void save(String filePath) throws IOException
      Saves the end user credentials into the given file path.
      Parameters:
      filePath - Path to file where to store the credentials
      Throws:
      IOException - An error storing the credentials.
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class GoogleCredentials
    • toString

      public String toString()
      Returns a string representation of this credential.

      Security Warning: The output of this method includes sensitive fields such as the refresh token and request metadata containing the raw Bearer access token. Do not log this output in production environments as it may expose sensitive credentials.

      Overrides:
      toString in class GoogleCredentials
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class GoogleCredentials
    • newBuilder

      public static UserCredentials.Builder newBuilder()
    • toBuilder

      public UserCredentials.Builder toBuilder()
      Overrides:
      toBuilder in class GoogleCredentials