|
|
|
@ -7,28 +7,26 @@ module TwoFactorAuthentication
|
|
|
|
|
before_filter :handle_two_factor_authentication |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
module InstanceMethods |
|
|
|
|
private |
|
|
|
|
private |
|
|
|
|
|
|
|
|
|
def handle_two_factor_authentication |
|
|
|
|
if not request.format.nil? and request.format.html? and not devise_controller? |
|
|
|
|
Devise.mappings.keys.flatten.any? do |scope| |
|
|
|
|
if signed_in?(scope) and warden.session(scope)[:need_two_factor_authentication] |
|
|
|
|
session["#{scope}_return_tor"] = request.path if request.get? |
|
|
|
|
redirect_to two_factor_authentication_path_for(scope) |
|
|
|
|
return |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
def handle_two_factor_authentication |
|
|
|
|
if not request.format.nil? and request.format.html? and not devise_controller? |
|
|
|
|
Devise.mappings.keys.flatten.any? do |scope| |
|
|
|
|
if signed_in?(scope) and warden.session(scope)[:need_two_factor_authentication] |
|
|
|
|
session["#{scope}_return_tor"] = request.path if request.get? |
|
|
|
|
redirect_to two_factor_authentication_path_for(scope) |
|
|
|
|
return |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def two_factor_authentication_path_for(resource_or_scope = nil) |
|
|
|
|
scope = Devise::Mapping.find_scope!(resource_or_scope) |
|
|
|
|
change_path = "#{scope}_two_factor_authentication_path" |
|
|
|
|
send(change_path) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
def two_factor_authentication_path_for(resource_or_scope = nil) |
|
|
|
|
scope = Devise::Mapping.find_scope!(resource_or_scope) |
|
|
|
|
change_path = "#{scope}_two_factor_authentication_path" |
|
|
|
|
send(change_path) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|