module Google::Auth

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Module Auth provides classes that provide Google-specific authorization used to access Google APIs.

Constants

NOT_FOUND_ERROR
NO_METADATA_SERVER_ERROR
UNEXPECTED_ERROR_SUFFIX
VERSION

Public Instance Methods

get_application_default(scope = nil, options = {}) click to toggle source

Obtains the default credentials implementation to use in this environment.

Use this to obtain the Application Default Credentials for accessing Google APIs. Application Default Credentials are described in detail at cloud.google.com/docs/authentication/production.

If supplied, scope is used to create the credentials instance, when it can be applied. E.g, on google compute engine and for user credentials the scope is ignored.

@param scope [string|array|nil] the scope(s) to access @param options [Hash] Connection options. These may be used to configure

the `Faraday::Connection` used for outgoing HTTP requests. For
example, if a connection proxy must be used in the current network,
you may provide a connection with with the needed proxy options.
The following keys are recognized:
* `:default_connection` The connection object to use for token
  refresh requests.
* `:connection_builder` A `Proc` that creates and returns a
  connection to use for token refresh requests.
* `:connection` The connection to use to determine whether GCE
  metadata credentials are available.
# File lib/googleauth/application_default.rb, line 53
def get_application_default scope = nil, options = {}
  creds = DefaultCredentials.from_env(scope, options) ||
          DefaultCredentials.from_well_known_path(scope, options) ||
          DefaultCredentials.from_system_default_path(scope, options)
  return creds unless creds.nil?
  unless GCECredentials.on_gce? options
    # Clear cache of the result of GCECredentials.on_gce?
    GCECredentials.unmemoize_all
    raise NOT_FOUND_ERROR
  end
  GCECredentials.new scope: scope
end