# File lib/googleauth/service_account.rb, line 59
      def self.make_creds options = {}
        json_key_io, scope = options.values_at :json_key_io, :scope
        if json_key_io
          private_key, client_email, project_id = read_json_key json_key_io
        else
          private_key = unescape ENV[CredentialsLoader::PRIVATE_KEY_VAR]
          client_email = ENV[CredentialsLoader::CLIENT_EMAIL_VAR]
          project_id = ENV[CredentialsLoader::PROJECT_ID_VAR]
        end
        project_id ||= CredentialsLoader.load_gcloud_project_id

        new(token_credential_uri: TOKEN_CRED_URI,
            audience:             TOKEN_CRED_URI,
            scope:                scope,
            issuer:               client_email,
            signing_key:          OpenSSL::PKey::RSA.new(private_key),
            project_id:           project_id)
          .configure_connection(options)
      end