Class: AwsMfa::CredentialsLoader

Inherits:
Object
  • Object
show all
Defined in:
lib/aws_mfa/credentials_loader.rb

Instance Method Summary collapse

Constructor Details

#initialize(mydrive_credentials_cache_dir, expiration_buffer_minutes: 0) ⇒ CredentialsLoader

Returns a new instance of CredentialsLoader.



9
10
11
12
# File 'lib/aws_mfa/credentials_loader.rb', line 9

def initialize(mydrive_credentials_cache_dir, expiration_buffer_minutes: 0)
  @mydrive_credentials_cache_dir = mydrive_credentials_cache_dir
  @expiration_buffer_seconds = expiration_buffer_minutes * 60
end

Instance Method Details

#load_credentials(profile_config) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/aws_mfa/credentials_loader.rb', line 14

def load_credentials(profile_config)
  credentials_file = File.join(mydrive_credentials_cache_dir, build_credentials_file_name(profile_config))

  if File.readable?(credentials_file) && !token_expired?(credentials_file)
    credentials = File.read(credentials_file)
  else
    credentials = load_credentials_from_aws(profile_config)
    write_credentials_to_file(credentials_file, credentials)
  end

  JSON.parse(credentials).fetch('Credentials')
end