Class: Itsi::Server::Config::AuthApiKey

Inherits:
Middleware
  • Object
show all
Defined in:
lib/itsi/server/config/middleware/auth_api_key.rb

Instance Method Summary collapse

Methods inherited from Middleware

#build!

Methods included from ConfigHelpers

included, load_and_register, #normalize_keys!

Constructor Details

#initialize(location, params) ⇒ AuthApiKey

Returns a new instance of AuthApiKey.



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/itsi/server/config/middleware/auth_api_key.rb', line 29

def initialize(location, params)
  super
  if @params[:valid_keys] && @params[:valid_keys].is_a?(Array)
    @params[:valid_keys] = @params[:valid_keys].each_with_index.map { |key, index| [index, key] }.to_h
    @params[:key_id_source] = nil
  end

  if File.exist?(".itsi-credentials") && !@params[:credentials_file]
    @params[:credentials_file] = ".itsi-credentials"
  end

  if @params[:credentials_file] && File.exist?(@params[:credentials_file])
    @params[:valid_keys] = Passfile.load(@params[:credentials_file])
  end

  unless @params[:valid_keys]&.any?
    raise "No credentials provided"
  end
end