Class: Gitlab::Auth::Otp::Strategies::DuoAuth::ManualOtp

Inherits:
Base
  • Object
show all
Includes:
Utils::StrongMemoize
Defined in:
lib/gitlab/auth/otp/strategies/duo_auth/manual_otp.rb

Instance Method Summary collapse

Methods inherited from Base

#initialize

Constructor Details

This class inherits a constructor from Gitlab::Auth::Otp::Strategies::Base

Instance Method Details

#validate(otp_code) ⇒ Object



11
12
13
14
15
16
17
18
# File 'lib/gitlab/auth/otp/strategies/duo_auth/manual_otp.rb', line 11

def validate(otp_code)
  params = { username: user.username, factor: "passcode", passcode: otp_code.to_i }
  response = duo_client.request('POST', "/auth/v2/auth", params)
  approve_or_deny(parse_response(response))
rescue StandardError => e
  Gitlab::AppLogger.error(e)
  error(e.message)
end