Class: Devise::DeviseCastleController
- Inherits:
-
DeviseController
- Object
- DeviseController
- Devise::DeviseCastleController
show all
- Includes:
- Controllers::Helpers
- Defined in:
- app/controllers/devise/devise_castle_controller.rb
Instance Method Summary
collapse
Instance Method Details
#edit ⇒ Object
18
19
20
21
22
23
24
25
|
# File 'app/controllers/devise/devise_castle_controller.rb', line 18
def edit
@challenge = castle.challenges.find(params[:id])
self.resource = resource_class.new
render action: "#{@challenge.delivery_method}/edit"
end
|
#new ⇒ Object
10
11
12
13
14
15
16
|
# File 'app/controllers/devise/devise_castle_controller.rb', line 10
def new
challenge = castle.challenges.create
Devise.mappings.keys.flatten.any? do |scope|
redirect_to send(
"edit_#{scope}_two_factor_authentication_path", challenge.id)
end
end
|
#update ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
# File 'app/controllers/devise/devise_castle_controller.rb', line 27
def update
challenge_id = params.require(:challenge_id)
code = params.require(:code)
begin
castle.challenges.verify(challenge_id, response: code)
castle.trust_device if params[:trust_device]
Devise.mappings.keys.flatten.any? do |scope|
redirect_to after_sign_in_path_for(scope)
end
rescue Castle::Error
sign_out_with_message(:no_retries_remaining, :alert)
end
end
|