Session

Initialize session interface and default config variables.

invenio.ext.session.setup_app(app)

Create custom session interface.

Backends

Implementation of several session backends.

Cache

Flask-Cache backend for session.

Configuration variables for Flask-Cache backend.

SESSION_BACKEND_CACHE Configured Flask-Cache object. Default: invenio.ext.cache:cache
SESSION_BACKEND_CACHE_PREFIX Prefix for keys stored in cache. Default: session::
SESSION_BACKEND_CACHE_TIMEOUT Default cache timeout. Default: 3600
class invenio.ext.session.backends.cache.Storage

Bases: invenio.ext.session.storage.SessionStorage

Implement session cache storage.

cache

Return cache storage.

delete(name)

Delete key from cache.

get(name)

Return value from cache.

key

Return cache key prefix.

set(name, value, timeout=None)

Store value in cache.

timeout

Return cache engine timeout.

SQLAlchemy

SQLAlchemy backend for session.

Configuration variables for SQLAlchemy backend.

SESSION_BACKEND_SQLALCHEMY Configured Flask-SQLAlchemy object. Default: invenio.ext.sqlalchemy:db
SESSION_BACKEND_SQLALCHEMY_MODEL SQLAlchemy ORM model. Default: invenio.ext.session.model:Session'
SESSION_BACKEND_SQLALCHEMY_GETTER Name of method on model to retrieve session data. Default: get_session
SESSION_BACKEND_SQLALCHEMY_SETTER Name of method on medel to set session data. Default: set_session
SESSION_BACKEND_SQLALCHEMY_VALUE Name of model attribute where to store session data. Default: session_object
class invenio.ext.session.backends.sqlalchemy.Storage(*args, **kwargs)

Bases: invenio.ext.session.storage.SessionStorage

Implement database backend for SQLAlchemy model storage.

db

Return SQLAlchemy database object.

delete(name)

Delete key from database table.

get(name)

Return value from database table.

getter

Return method to get session value.

model

Return SQLAlchemy model.

set(name, value, timeout=None)

Store value in database table.

setter

Return method to set session value.

value

Return model property for storing session value.

Model

Example implementation of SQLAlchemy session model backend.

class invenio.ext.session.model.Session(**kwargs)

Represent Session record.

get_session(name, expired=False)

Return an instance of Session.

session_expiry
session_key
session_object
set_session(name, value, timeout=None)

Store value in database.

uid

Wrappers

Flask SessionInterface implementation.

class invenio.ext.session.interface.SessionInterface

Bases: flask.sessions.SessionInterface

Extend SessionInterface class.

backend

Return session backend.

generate_sid()

Generate unique session identifier.

get_session_expiration_time(app, session)

Return session expiration time.

get_signer()

Return signer for cookie content signing.

has_secure_url

Return True if secure url is configured.

open_session(app, request)

Return session instance.

save_session(app, session, response)

Save current session.

serializer

Return serializer class.

session_class

Return session class.

sign_salt

Return salt for session id signing.

sign_sid

Return True if cookie session id is signed.

Session storage interface.

class invenio.ext.session.storage.SessionStorage

Bases: object

Session storage slub.

delete(name)

Delete data from the key-value storage system.

get(name)

Return data from the key-value storage system.

set(name, value, timeout=None)

Store data in a key-value storage system for defined time.