module Google::Auth::JsonKeyReader

def read_json_key json_key_io

Raises:
  • (Google::Auth::InitializationError) - If client_email or private_key

Returns:
  • (Array(String, String, String, String, String)) - An array containing:

Parameters:
  • json_key_io (IO) -- An IO object containing the JSON key
def read_json_key json_key_io
  begin
    json_key = JSON.parse json_key_io.read
  rescue JSON::ParserError => e
    raise InitializationError, "Invalid JSON keyfile format: #{e.message}"
  end
  raise InitializationError, "missing client_email" unless json_key.key? "client_email"
  raise InitializationError, "missing private_key" unless json_key.key? "private_key"
  [
    json_key["private_key"],
    json_key["client_email"],
    json_key["project_id"],
    json_key["quota_project_id"],
    json_key["universe_domain"]
  ]
end