summaryrefslogtreecommitdiff
path: root/app/controllers/otp_challenges_controller.rb
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-07-24 17:20:41 +0200
committererdgeist <erdgeist@erdgeist.org>2026-07-24 17:20:41 +0200
commitd5883869e97244335370d54e21ef46b3f1885899 (patch)
tree4575a24150f4c2fa98de54fdd556132f0aa0ff8c /app/controllers/otp_challenges_controller.rb
parent0d2a8e4b61f4b79507519c73f127b7ab883d853c (diff)
Give all sessions a uniform absolute lifetime of one week
Enforced at restore via a login-time stamp, written only at genuine logins so the limit stays absolute rather than sliding. The cookie name rotation logs everyone out once at deploy. Second-factor users are deliberately not treated worse than password-only ones.
Diffstat (limited to 'app/controllers/otp_challenges_controller.rb')
-rw-r--r--app/controllers/otp_challenges_controller.rb1
1 files changed, 1 insertions, 0 deletions
diff --git a/app/controllers/otp_challenges_controller.rb b/app/controllers/otp_challenges_controller.rb
index 892503a8..e31c36ca 100644
--- a/app/controllers/otp_challenges_controller.rb
+++ b/app/controllers/otp_challenges_controller.rb
@@ -27,6 +27,7 @@ class OtpChallengesController < ApplicationController
27 return_to = session[:return_to] 27 return_to = session[:return_to]
28 reset_session 28 reset_session
29 self.current_user = user 29 self.current_user = user
30 session[:logged_in_at] = Time.now.to_i
30 flash[:notice] = "Logged in successfully" 31 flash[:notice] = "Logged in successfully"
31 redirect_to safe_return_to(return_to, :default => admin_path) 32 redirect_to safe_return_to(return_to, :default => admin_path)
32 else 33 else