Spaces:
Runtime error
Runtime error
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
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 |
|