Fixed remember login function

This commit is contained in:
2025-11-09 12:46:57 -05:00
parent 5c77376272
commit d61cd12c50
2 changed files with 22 additions and 14 deletions
+16 -14
View File
@@ -176,10 +176,11 @@ class SecurityManager:
if not stored_token or not hmac.compare_digest(session_token, stored_token['token']):
return False
# Check session timeout
if time.time() - stored_token['created'] > self.session_timeout:
del self.session_tokens[user_id]
return False
# Check session timeout - skip if "Remember Me" is enabled
if not session.get('remember_me', False):
if time.time() - stored_token['created'] > self.session_timeout:
del self.session_tokens[user_id]
return False
# Check if session IP matches (optional security measure)
if self.app.config.get('STRICT_SESSION_IP', False):
@@ -425,17 +426,18 @@ def enhanced_login_required(f):
session.clear()
return jsonify({'error': 'Session security validation failed'}), 401
# Check session timeout
login_time_str = session.get('login_time')
if login_time_str:
try:
login_time = datetime.fromisoformat(login_time_str)
if datetime.utcnow() - login_time > timedelta(hours=8):
# Check session timeout - skip if "Remember Me" is enabled
if not session.get('remember_me', False):
login_time_str = session.get('login_time')
if login_time_str:
try:
login_time = datetime.fromisoformat(login_time_str)
if datetime.utcnow() - login_time > timedelta(hours=8):
session.clear()
return jsonify({'error': 'Session expired'}), 401
except ValueError:
session.clear()
return jsonify({'error': 'Session expired'}), 401
except ValueError:
session.clear()
return jsonify({'error': 'Invalid session data'}), 401
return jsonify({'error': 'Invalid session data'}), 401
return f(*args, **kwargs)
return decorated_function