diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index b7ce7a8c..e6fccfbf 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -7,6 +7,8 @@ class SessionsController < Devise::SessionsController email = sign_in_params[:email].to_s.downcase if Docuseal.multitenant? && !User.exists?(email:) + Rollbar.warning('Sign in new user') if defined?(Rollbar) + return redirect_to new_registration_path(sign_up: true, user: sign_in_params.slice(:email)), notice: 'Create a new account' end diff --git a/config/initializers/devise.rb b/config/initializers/devise.rb index 8b79455e..db2982c9 100644 --- a/config/initializers/devise.rb +++ b/config/initializers/devise.rb @@ -2,6 +2,14 @@ Devise.otp_allowed_drift = 60.seconds +class FailureApp < Devise::FailureApp + def respond + Rollbar.warning('Invalid password') if defined?(Rollbar) && warden_message == :invalid + + super + end +end + # Assuming you have not yet modified this file, each configuration option below # is set to its default value. Note that some are commented out while others # are not: uncommented lines are intended to protect your configuration from @@ -277,6 +285,7 @@ Devise.setup do |config| config.warden do |manager| # manager.intercept_401 = false # manager.default_strategies(scope: :user).unshift(:auth_token) + manager.failure_app = FailureApp end # ==> Mountable engine configurations