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.
Install
pip3 install FalconSignedSessions
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file FalconSignedSessions-0.0.3.tar.gz.
File metadata
- Download URL: FalconSignedSessions-0.0.3.tar.gz
- Upload date:
- Size: 16.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cba5c006d423c3ef475ef568cb4c36c25546ecdcce6ef6923df302ca79349f3c
|
|
| MD5 |
2628b3838e27207fa17abeb0f402ff3c
|
|
| BLAKE2b-256 |
71d2795d72a1536552fe9490918067ae734ce35f969f57e41a007c509dd3eb0f
|
File details
Details for the file FalconSignedSessions-0.0.3-py3-none-any.whl.
File metadata
- Download URL: FalconSignedSessions-0.0.3-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.9.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
080e8b5a8950aa6294498e95d180300093baf4b2eed477a88bfadca4de9cd0f3
|
|
| MD5 |
cc324b6588f2bb3c2e93aa1b2660c2b8
|
|
| BLAKE2b-256 |
4753b2025224196897feb9eceb2878dca4f29b72fca2a52cb874ec7bce3b109f
|