Class: Lita::Handlers::ROTP
- Inherits:
-
Handler
- Object
- Handler
- Lita::Handlers::ROTP
- Defined in:
- lib/lita/handlers/rotp.rb
Overview
The ROTP wrapper for Lita
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.default_config(config) ⇒ Object
54 55 56 |
# File 'lib/lita/handlers/rotp.rb', line 54 def self.default_config(config) config.secret_pairs = {} end |
Instance Method Details
#hotp(response) ⇒ Object
87 88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/lita/handlers/rotp.rb', line 87 def hotp(response) md = response.match_data name, counter = [md['name'], md['counter']] counter = counter.strip.to_i if counter.is_a?(String) secret = config.secret_pairs[name.to_sym] return response.reply(t('not_found', n: name)) if secret.nil? response.reply(hotp_generate(secret, counter)) end |
#otp(response) ⇒ Object
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/lita/handlers/rotp.rb', line 58 def otp(response) md = response.match_data name, counter = [md['name'], md['counter']] counter = counter.strip.to_i if counter.is_a?(String) reply = '' if counter.nil? secret = config.secret_pairs[name.to_sym] return response.reply(t('not_found', n: name)) if secret.nil? reply = totp_generate(secret) else secret = config.secret_pairs[name.to_sym] return response.reply(t('not_found', n: name)) if secret.nil? reply = hotp_generate(secret, counter) end response.reply(reply) end |
#totp(response) ⇒ Object
78 79 80 81 82 83 84 85 |
# File 'lib/lita/handlers/rotp.rb', line 78 def totp(response) name = response.match_data['name'] secret = config.secret_pairs[name.to_sym] return response.reply(t('not_found', n: name)) if secret.nil? response.reply(totp_generate(secret)) end |