-
Notifications
You must be signed in to change notification settings - Fork 13.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: support server-side sessions #25795
Conversation
# Conflicts: # superset/config.py
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@dpgaspar Could you add more context to why do we need server side sessions? If this is a security concern, could you reach on Slack? My main concern is that server-side sessions may completely change the way we interact with the server, specifically about how we compose requests.
Yes it's an optional security improvement, as is sessions will continue to behave like they currently do, don't think it will fundamentally change the way we compose requests, users will still have a session cookie but with a UUID only, the rest of the data is kept on the backend. Possible area of impact is thumbnails, I'll double check on what's required |
Verified this works seamlessly with thumbnails |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Thank you for the added context @dpgaspar and for adding doc references. They were helpful to review the impact of the change.
No problem! thank you for the review @michael-s-molina |
SUMMARY
Supports server side sessions with multiple backends provided by flask-session.
Server-side sessions can be effectively managed and destroyed when a user logs out, ensuring that the session data is invalidated.
Adds a new config option
SESSION_SERVER_SIDE
bool, default to False and use Flask's defaultSecureCookieSession
Flask-Session supports multiple backends and config options: https://flask-session.readthedocs.io/en/latest/config.html
BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF
TESTING INSTRUCTIONS
ADDITIONAL INFORMATION