From ffe2496dcda437021ebb895ace77cf885fa0f16a Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Thu, 12 Dec 2024 16:17:17 -0600 Subject: [PATCH 1/3] proof of concept --- lib/passwordless/controller_helpers.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/passwordless/controller_helpers.rb b/lib/passwordless/controller_helpers.rb index 71a50d0..39da968 100644 --- a/lib/passwordless/controller_helpers.rb +++ b/lib/passwordless/controller_helpers.rb @@ -87,9 +87,11 @@ def sign_out(authenticatable_class) # Saves request.original_url as the redirect location for a # passwordless Model. # @param (see #authenticate_by_session) + # @param url [String] the url to redirect to # @return [String] the redirect url that was just saved. - def save_passwordless_redirect_location!(authenticatable_class) - session[redirect_session_key(authenticatable_class)] = request.original_url + def save_passwordless_redirect_location!(authenticatable_class, url=nil) + url = request.original_url if url.nil? + set_passwordless_redirect_location! url end # Resets the redirect_location to root_path by deleting the redirect_url From f949887fafa0613b4951c5119118cc6bbebd271d Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Thu, 12 Dec 2024 16:29:38 -0600 Subject: [PATCH 2/3] add support for setting redirect url via url param --- app/controllers/passwordless/sessions_controller.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/controllers/passwordless/sessions_controller.rb b/app/controllers/passwordless/sessions_controller.rb index 60ce042..c5c728c 100644 --- a/app/controllers/passwordless/sessions_controller.rb +++ b/app/controllers/passwordless/sessions_controller.rb @@ -14,6 +14,9 @@ class SessionsController < Passwordless.config.parent_controller.constantize # renders sessions/new.html.erb. def new @session = Session.new + unless params[:redirect_to].nil? + save_passwordless_redirect_location! authenticatable_class, params[:redirect_to] + end end # post '/:resource/sign_in' From 3bb8279f4fea166df14f740601a9177923a70e58 Mon Sep 17 00:00:00 2001 From: Steven Clontz Date: Thu, 12 Dec 2024 16:32:47 -0600 Subject: [PATCH 3/3] Update lib/passwordless/controller_helpers.rb --- lib/passwordless/controller_helpers.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/passwordless/controller_helpers.rb b/lib/passwordless/controller_helpers.rb index 39da968..7c0e600 100644 --- a/lib/passwordless/controller_helpers.rb +++ b/lib/passwordless/controller_helpers.rb @@ -91,7 +91,7 @@ def sign_out(authenticatable_class) # @return [String] the redirect url that was just saved. def save_passwordless_redirect_location!(authenticatable_class, url=nil) url = request.original_url if url.nil? - set_passwordless_redirect_location! url + session[redirect_session_key(authenticatable_class)] = url end # Resets the redirect_location to root_path by deleting the redirect_url