Change CAPTCHA handling to be only on email verification

This simplifies the implementation considerably, and while not providing
ideal UX, it's the most flexible approach.
This commit is contained in:
Claire
2022-01-25 23:56:57 +01:00
parent 0fb907441c
commit b7cf3941b3
14 changed files with 15 additions and 84 deletions

View File

@@ -22,8 +22,6 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController
end
def show
clear_captcha!
old_session_values = session.to_hash
reset_session
session.update old_session_values.except('session_id')
@@ -63,10 +61,6 @@ class Auth::ConfirmationsController < Devise::ConfirmationsController
invite.present? && !invite.max_uses.nil?
end
def captcha_context
'email-confirmation'
end
def set_pack
use_pack 'auth'
end

View File

@@ -2,7 +2,6 @@
class Auth::RegistrationsController < Devise::RegistrationsController
include RegistrationSpamConcern
include CaptchaConcern
layout :determine_layout
@@ -16,8 +15,6 @@ class Auth::RegistrationsController < Devise::RegistrationsController
before_action :require_not_suspended!, only: [:update]
before_action :set_cache_headers, only: [:edit, :update]
before_action :set_registration_form_time, only: :new
before_action :extend_csp_for_captcha!, only: [:new, :create]
before_action :check_captcha!, only: :create
skip_before_action :require_functional!, only: [:edit, :update]
@@ -138,23 +135,4 @@ class Auth::RegistrationsController < Devise::RegistrationsController
def set_cache_headers
response.headers['Cache-Control'] = 'no-cache, no-store, max-age=0, must-revalidate'
end
def sign_up(resource_name, resource)
clear_captcha!
old_session_values = session.to_hash
reset_session
session.update old_session_values.except('session_id')
super
end
def check_captcha!
super do |error|
build_resource(sign_up_params)
resource.validate
resource.errors.add(:base, error)
respond_with resource
end
end
end