YoonJ-C commited on
Commit
7397847
·
1 Parent(s): 68f0989

Add session debugging and fix session configuration

Browse files

- Add session-debug endpoint to diagnose user session issues
- Configure session cookies for production deployment
- Add SESSION_COOKIE_SAMESITE and other security settings
- Help troubleshoot 'User not found' error on Hugging Face
- Display session data, user list, and file system info

Files changed (1) hide show
  1. app.py +27 -0
app.py CHANGED
@@ -18,6 +18,12 @@ load_dotenv()
18
  app = Flask(__name__)
19
  app.secret_key = 'spiritual-journey-finder-2024'
20
 
 
 
 
 
 
 
21
  # File to store user data - defaults to current directory (writable in Docker)
22
  USERS_FILE = os.getenv("USERS_FILE", "users_data.json")
23
 
@@ -452,6 +458,27 @@ def debug():
452
  "users_file": USERS_FILE
453
  })
454
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
455
  # Initialize default test user on startup
456
  initialize_default_user()
457
 
 
18
  app = Flask(__name__)
19
  app.secret_key = 'spiritual-journey-finder-2024'
20
 
21
+ # Session configuration for production deployment
22
+ app.config['SESSION_COOKIE_SECURE'] = False # For HTTP
23
+ app.config['SESSION_COOKIE_HTTPONLY'] = True
24
+ app.config['SESSION_COOKIE_SAMESITE'] = 'Lax'
25
+ app.config['PERMANENT_SESSION_LIFETIME'] = 3600 # 1 hour
26
+
27
  # File to store user data - defaults to current directory (writable in Docker)
28
  USERS_FILE = os.getenv("USERS_FILE", "users_data.json")
29
 
 
458
  "users_file": USERS_FILE
459
  })
460
 
461
+ @app.route("/session-debug")
462
+ def session_debug():
463
+ """
464
+ Debug endpoint to check session and user data
465
+ """
466
+ users = load_users()
467
+ return jsonify({
468
+ "session_data": dict(session),
469
+ "username_in_session": 'username' in session,
470
+ "current_username": session.get('username', 'None'),
471
+ "users_file_exists": os.path.exists(USERS_FILE),
472
+ "users_file_path": os.path.abspath(USERS_FILE),
473
+ "users_count": len(users),
474
+ "user_list": list(users.keys()),
475
+ "session_cookie_config": {
476
+ "secure": app.config.get('SESSION_COOKIE_SECURE'),
477
+ "httponly": app.config.get('SESSION_COOKIE_HTTPONLY'),
478
+ "samesite": app.config.get('SESSION_COOKIE_SAMESITE')
479
+ }
480
+ })
481
+
482
  # Initialize default test user on startup
483
  initialize_default_user()
484