class FirebaseTokenAuth::AdminClient

Attributes

service[RW]

Public Class Methods

new(configuration) click to toggle source
# File lib/firebase_token_auth/admin_client.rb, line 7
def initialize(configuration)
  @service = Google::Apis::IdentitytoolkitV3::IdentityToolkitService.new
  @service.authorization = configuration.auth
end

Public Instance Methods

get_account_info(params) click to toggle source
# File lib/firebase_token_auth/admin_client.rb, line 12
def get_account_info(params)
  request = Google::Apis::IdentitytoolkitV3::GetAccountInfoRequest.new(**params)
  service.get_account_info(request)
end
update_existing_account(uid, attributes) click to toggle source
# File lib/firebase_token_auth/admin_client.rb, line 17
def update_existing_account(uid, attributes)
  update_params = { local_id: uid }.merge!(permit_attributes(attributes))
  request = Google::Apis::IdentitytoolkitV3::SetAccountInfoRequest.new(**update_params)
  service.set_account_info(request)
end

Private Instance Methods

permit_attributes(attr_hash) click to toggle source
# File lib/firebase_token_auth/admin_client.rb, line 25
def permit_attributes(attr_hash)
  permit_keys = %i[disabled display_name email email_verified password phone_number photo_url multi_factor]
  attr_hash.select { |k, _v| permit_keys.include?(k) }
end