class Fireauth::Authentication

Constants

IDENTITY_URL

Attributes

firebase_api_key[R]
id_token[R]

Public Class Methods

call(id_token) click to toggle source

@example

response = Fireauth::Authentication.call(id_token)

@param [String] id_token Firebase ID Token @return [Hash] authenticated user or error message

# File lib/fireauth/authentication.rb, line 13
def self.call(id_token)
  new(id_token).response
end
new(id_token) click to toggle source
# File lib/fireauth/authentication.rb, line 17
def initialize(id_token)
  @id_token = id_token
  @firebase_api_key = Fireauth.configuration.firebase_api_key
end

Public Instance Methods

response() click to toggle source
# File lib/fireauth/authentication.rb, line 22
def response
  JSON.parse(request.body)
end

Private Instance Methods

request() click to toggle source
# File lib/fireauth/authentication.rb, line 30
def request
  url = "#{IDENTITY_URL}?key=#{firebase_api_key}"
  request_body = "{ 'idToken': '#{id_token}' }"

  Faraday.post(url, request_body, content_type: 'application/json')
end