diff options
author | Stan Hu <stanhu@gmail.com> | 2018-06-21 23:25:00 -0700 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2018-07-03 11:39:00 -0700 |
commit | 7376ffc3a3f3d0f3bc294c4431370c5560c19a00 (patch) | |
tree | e9b79881a32ce9a4dba1658c0a9586b1e66c1b1b /app/controllers/sessions_controller.rb | |
parent | cd5789415b6e561564073693243e890e79596ed2 (diff) | |
download | gitlab-ce-7376ffc3a3f3d0f3bc294c4431370c5560c19a00.tar.gz |
Add Prometheus metrics to track reCAPTCHA success/failures
Diffstat (limited to 'app/controllers/sessions_controller.rb')
-rw-r--r-- | app/controllers/sessions_controller.rb | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 7aa277b3614..1de6ae24622 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -62,7 +62,11 @@ class SessionsController < Devise::SessionsController return unless captcha_enabled? return unless Gitlab::Recaptcha.load_configurations! - unless verify_recaptcha + if verify_recaptcha + increment_successful_login_captcha_counter + else + increment_failed_login_captcha_counter + self.resource = resource_class.new flash[:alert] = 'There was an error with the reCAPTCHA. Please solve the reCAPTCHA again.' flash.delete :recaptcha_error @@ -71,6 +75,20 @@ class SessionsController < Devise::SessionsController end end + def increment_failed_login_captcha_counter + Gitlab::Metrics.counter( + :failed_login_captcha_total, + 'Number of failed CAPTCHA attempts for logins'.freeze + ).increment + end + + def increment_successful_login_captcha_counter + Gitlab::Metrics.counter( + :successful_login_captcha_total, + 'Number of successful CAPTCHA attempts for logins'.freeze + ).increment + end + def log_failed_login Gitlab::AppLogger.info("Failed Login: username=#{user_params[:login]} ip=#{request.remote_ip}") end |