mbr / flask-kvsession

A drop-in replacement for Flask's session handling using server-side sessions.
http://pythonhosted.org/Flask-KVSession/
MIT License
168 stars 53 forks source link

Flask-KVSession

Flask-KVSession is an MIT-licensed <https://github.com/mbr/flask-kvsession/blob/master/LICENSE> server-side session replacement for Flask <http://flask.pocoo.org>'s signed client-based session management. Instead of storing data on the client, only a securely generated ID is stored on the client, while the actual session data resides on the server.

This has two major advantages:

Other things are possible with server side session that are impossible with clients side sessions, like inspecting and manipulating data in absence of the client.

Flask-KVSession uses the simplekv <http://github.com/mbr/simplekv>-package for storing session data on a variety of backends, including redis <http://redis.io>, memcached <http://memcached.org>, SQL databases using SQLAlchemy <http://sqlalchemy.org>, mongoDB <http://www.mongodb.org/>_ or just flat files.

Integration with Flask is seamless, once the extension is loaded for a Flask application, it transparently replaces Flask's own Session management. Any application working with sessions should work the same with Flask-KVSession (if it does not, file a bug!).

Documentation and development

Development happens on github <https://github.com/mbr/flask-kvsession/>, you can find the documentation on PyPI <http://pythonhosted.org/Flask-KVSession>.