Browse Source

Merge branch 'preserve_query_parameters' of https://github.com/omb-awong/two_factor_authentication into omb-awong-preserve_query_parameters

master
Dmitrii Golub 10 years ago
parent
commit
dea9779f3b
  1. 2
      lib/two_factor_authentication/controllers/helpers.rb
  2. 4
      spec/features/two_factor_authenticatable_spec.rb
  3. 4
      spec/rails_app/app/views/home/dashboard.html.erb

2
lib/two_factor_authentication/controllers/helpers.rb

@ -21,7 +21,7 @@ module TwoFactorAuthentication
def handle_failed_second_factor(scope) def handle_failed_second_factor(scope)
if request.format.present? and request.format.html? if request.format.present? and request.format.html?
session["#{scope}_return_to"] = request.path if request.get? session["#{scope}_return_to"] = "#{request.path}?#{request.query_string}" if request.get?
redirect_to two_factor_authentication_path_for(scope) redirect_to two_factor_authentication_path_for(scope)
else else
render nothing: true, status: :unauthorized render nothing: true, status: :unauthorized

4
spec/features/two_factor_authenticatable_spec.rb

@ -45,7 +45,7 @@ feature "User of two factor authentication" do
end end
scenario "is redirected to TFA when path requires authentication" do scenario "is redirected to TFA when path requires authentication" do
visit dashboard_path visit dashboard_path + "?A=param%20a&B=param%20b"
expect(page).to_not have_content("Your Personal Dashboard") expect(page).to_not have_content("Your Personal Dashboard")
@ -54,6 +54,8 @@ feature "User of two factor authentication" do
expect(page).to have_content("Your Personal Dashboard") expect(page).to have_content("Your Personal Dashboard")
expect(page).to have_content("You are signed in as Marissa") expect(page).to have_content("You are signed in as Marissa")
expect(page).to have_content("Param A is param a")
expect(page).to have_content("Param B is param b")
end end
scenario "is locked out after max failed attempts" do scenario "is locked out after max failed attempts" do

4
spec/rails_app/app/views/home/dashboard.html.erb

@ -4,4 +4,8 @@
<p>Your registered email address is <%= current_user.email %></p> <p>Your registered email address is <%= current_user.email %></p>
<p> Param A is <%= params[:A] %></p>
<p> Param B is <%= params[:B] %></p>
<p>You can only see this page after successfully completing two factor authentication</p> <p>You can only see this page after successfully completing two factor authentication</p>

Loading…
Cancel
Save