Signed & trusted sessions for falcon.
Project description
Falcon signed sessions
This project allows you to easily add trusted cookies to falcon, it works by storing a signed cookie in the client's browser using itsdangerous what we call a session. If the cookie is edited the data won't be loaded into the session context. If you don't store the secret key & salt somewhere secure (like a env file) then the session data will be invalidated between restarts.
How it works
- Use
req.context.get_session(key)
to read session data, None if doesn't exist. - Use
req.context.sessions()
to read all sessions. - Use
resp.context.set_session(key, value)
to edit session data & sign for client.
How to use
import secrets
from FalconSignedSessions import SignedSessions
app = falcon.App()
app.add_middleware(
SignedSessions(
secret_key=secrets.token_urlsafe(24),
salt=secrets.token_bytes(),
session_cookie="session"
)
)
class SessionResource:
def on_get(self, req: Request, resp: Response) -> None:
# Get all sessions as dict.
print(req.context.sessions())
# Used to get a session
print(req.context.get_session("trusted"))
# Set a session.
resp.context.set_session("trusted", True)
app.add_route("/cookies", SessionResource())
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
FalconSignedSessions-0.0.2.tar.gz
(16.1 kB
view hashes)
Built Distribution
Close
Hashes for FalconSignedSessions-0.0.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 895beae7b447a4c0b366b0aab2b27dbecfeb7c3f2c33efce53bdb32a748eeddb |
|
MD5 | e88d03db5b302f9fbeda159d644d6b6c |
|
BLAKE2b-256 | 3c0d6e4b6387d68998c29ca324fe222e3a0e23ee6ba8a572a573f4fad1c88461 |
Close
Hashes for FalconSignedSessions-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eca441834e9130a7e4b15f4309d771ee294445fd28fcfb8221d67373526f4582 |
|
MD5 | 1cb7cb24db54225c6c0054af22d1e57b |
|
BLAKE2b-256 | 6f99b226ae94a29c032fc59f61f74d693863d61b443203e6e53fea93b6deeb16 |