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()
      Description copied from class: Credentials
      Gets the credential type used for internal metrics header.

      The default is CredentialTypeForMetrics.DO_NOT_SEND. For a credential that is established to track for metrics, this default should be overridden.

      Overrides:
      getMetricsCredentialType in class Credentials
      Returns:
      a enum value for credential type
    • 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()
      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