diff options
Diffstat (limited to 'app/controllers/omniauth_callbacks_controller.rb')
-rw-r--r-- | app/controllers/omniauth_callbacks_controller.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/app/controllers/omniauth_callbacks_controller.rb b/app/controllers/omniauth_callbacks_controller.rb index 706a4843117..6a393405e4d 100644 --- a/app/controllers/omniauth_callbacks_controller.rb +++ b/app/controllers/omniauth_callbacks_controller.rb @@ -27,6 +27,7 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController user = User.by_login(params[:username]) user&.increment_failed_attempts! + log_failed_login(params[:username], failed_strategy.name) end super @@ -90,6 +91,10 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController private + def log_failed_login(user, provider) + # overridden in EE + end + def after_omniauth_failure_path_for(scope) if Feature.enabled?(:user_mode_in_session) return new_admin_session_path if current_user_mode.admin_mode_requested? @@ -198,6 +203,8 @@ class OmniauthCallbacksController < Devise::OmniauthCallbacksController end def fail_login(user) + log_failed_login(user.username, oauth['provider']) + error_message = user.errors.full_messages.to_sentence redirect_to omniauth_error_path(oauth['provider'], error: error_message) |