diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-07-24 17:20:41 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-07-24 17:20:41 +0200 |
| commit | d5883869e97244335370d54e21ef46b3f1885899 (patch) | |
| tree | 4575a24150f4c2fa98de54fdd556132f0aa0ff8c /app/controllers/otp_challenges_controller.rb | |
| parent | 0d2a8e4b61f4b79507519c73f127b7ab883d853c (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.rb | 1 |
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 |
