From ab23bf6a9e1a5e3f0a1e9a671f69f067825dfdab Mon Sep 17 00:00:00 2001 From: Peter Stockings Date: Mon, 9 Mar 2026 21:34:26 +1100 Subject: [PATCH] Make sessions permanent --- app/config.py | 6 ++++++ app/routes/auth.py | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/config.py b/app/config.py index 10e0425..31b5a5e 100644 --- a/app/config.py +++ b/app/config.py @@ -1,9 +1,15 @@ import os +from datetime import timedelta + class Config: """Base configuration.""" SECRET_KEY = os.environ.get('SECRET_KEY', '234234sdfsdfsdfsdf345345') SQLALCHEMY_TRACK_MODIFICATIONS = False + + # Session and Remember Me configurations to keep user logged in almost indefinitely (10 years) + PERMANENT_SESSION_LIFETIME = timedelta(days=3650) + REMEMBER_COOKIE_DURATION = timedelta(days=3650) class DevelopmentConfig(Config): """Development configuration.""" diff --git a/app/routes/auth.py b/app/routes/auth.py index 2579aef..cc7e266 100644 --- a/app/routes/auth.py +++ b/app/routes/auth.py @@ -24,7 +24,9 @@ def login(): if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() if user and check_password_hash(user.password_hash, form.password.data): - login_user(user) + from flask import session + session.permanent = True + login_user(user, remember=True) flash("Logged in successfully.", "success") return redirect(url_for('main.dashboard')) flash("Invalid username or password.", "danger")