class Google::Auth::Credentials

def initialize keyfile, options = {}

Parameters:
  • options (Hash) --
  • keyfile (String, Hash, Signet::OAuth2::Client) --
def initialize keyfile, options = {}
  scope = options[:scope]
  verify_keyfile_provided! keyfile
  @project_id = options["project_id"] || options["project"]
  if keyfile.is_a? Signet::OAuth2::Client
    @client = keyfile
    @project_id ||= keyfile.project_id if keyfile.respond_to? :project_id
  elsif keyfile.is_a? Hash
    hash = stringify_hash_keys keyfile
    hash["scope"] ||= scope
    @client = init_client hash, options
    @project_id ||= (hash["project_id"] || hash["project"])
  else
    verify_keyfile_exists! keyfile
    json = JSON.parse ::File.read(keyfile)
    json["scope"] ||= scope
    @project_id ||= (json["project_id"] || json["project"])
    @client = init_client json, options
  end
  CredentialsLoader.warn_if_cloud_sdk_credentials @client.client_id
  @project_id ||= CredentialsLoader.load_gcloud_project_id
  @client.fetch_access_token!
end