class ForemanTasksCore::OtpManager
Public Class Methods
authenticate(hash)
click to toggle source
# File lib/foreman_tasks_core/otp_manager.rb, line 20 def authenticate(hash) plain = Base64.decode64(hash) username, otp = plain.split(':', 2) drop_otp(username, otp) end
drop_otp(username, password)
click to toggle source
# File lib/foreman_tasks_core/otp_manager.rb, line 12 def drop_otp(username, password) passwords.delete(username) if passwords[username] == password end
generate_otp(username)
click to toggle source
# File lib/foreman_tasks_core/otp_manager.rb, line 7 def generate_otp(username) otp = SecureRandom.hex passwords[username] = otp.to_s end
passwords()
click to toggle source
# File lib/foreman_tasks_core/otp_manager.rb, line 16 def passwords @password ||= {} end
tokenize(username, password)
click to toggle source
# File lib/foreman_tasks_core/otp_manager.rb, line 26 def tokenize(username, password) Base64.strict_encode64("#{username}:#{password}") end