Metadata-Version: 2.1
Name: flask-session-decoder
Version: 0.1.0
Summary: Zero-dependency Flask session decoder.
License: MIT
Classifier: Intended Audience :: Information Technology
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Development Status :: 4 - Beta
Classifier: Topic :: Internet
Classifier: Topic :: Software Development :: Libraries
Classifier: Topic :: Software Development
Classifier: Typing :: Typed
Classifier: Environment :: Web Environment
Classifier: Framework :: Flask
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: WWW/HTTP
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE

# flask-session-decoder

Zero-dependency Flask session decoder.

This is a small library without any dependencies. It works with close to default Flask session security configurations, but obviously does not provide the full cookie decoding and verification capabilities of `flask` / `werkzeug` / `itsdangerous`. If your project already depends on these libraries, use the official tooling instead.

## Installation and Usage

You can install the library from PyPI with `pip install flask-session-decoder`.

Once installed, you can import and instantiate the decoder like this:

```python
from flask_session_decoder import FlaskSessionDecoder

decoder = FlaskSessionDecoder(secret_key="the-secret-key-of-the-flask-app-that-created-the-cookie")
```

`FlaskSessionDecoder` provides three methods for cookie verification and loading:

- `decoder.load(cookie)` returns the (by default verified) decoded string representation of the cookie.
- `decoder.json(cookie)` returns the (by default verified) decoded cookie as a `dict`.
- `verify(cookie)` returns whether the cookie signature is valid, without actually loading the value.

## Development

Use `black` for code formatting and `mypy` for static code analysis.

## License - MIT

The library is open-sourced under the conditions of the MIT [license](https://choosealicense.com/licenses/mit/).
