about summary refs log tree commit diff
path: root/app/controllers/auth/challenges_controller.rb
blob: 41827b21c147c2e47a48faf56a5aaf9055752362 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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