diff options
Diffstat (limited to 'app/controllers/auth/challenges_controller.rb')
-rw-r--r-- | app/controllers/auth/challenges_controller.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/app/controllers/auth/challenges_controller.rb b/app/controllers/auth/challenges_controller.rb new file mode 100644 index 000000000..41827b21c --- /dev/null +++ b/app/controllers/auth/challenges_controller.rb @@ -0,0 +1,29 @@ +# frozen_string_literal: true + +class Auth::ChallengesController < ApplicationController + include ChallengableConcern + + layout 'auth' + + before_action :set_pack + before_action :authenticate_user! + + skip_before_action :require_functional! + + def create + if challenge_passed? + session[:challenge_passed_at] = Time.now.utc + redirect_to challenge_params[:return_to] + else + @challenge = Form::Challenge.new(return_to: challenge_params[:return_to]) + flash.now[:alert] = I18n.t('challenge.invalid_password') + render_challenge + end + end + + private + + def set_pack + use_pack 'auth' + end +end |