class LHC::Auth
def authenticate!(request, options)
def authenticate!(request, options) if options[:bearer] bearer_authentication!(request, options) elsif options[:basic] basic_authentication!(request, options) end end
def basic_authentication!(request, options)
def basic_authentication!(request, options) auth = options[:basic] credentials = "#{auth[:username]}:#{auth[:password]}" set_authorization_header request, "Basic #{Base64.encode64(credentials).chomp}" end
def bearer_authentication!(request, options)
def bearer_authentication!(request, options) token = options[:bearer] token = token.call if token.is_a?(Proc) set_authorization_header request, "Bearer #{token}" end
def before_request(request)
def before_request(request) options = request.options[:auth] || {} authenticate!(request, options) end
def set_authorization_header(request, value)
def set_authorization_header(request, value) request.headers['Authorization'] = value end