flask-praetorian¶
Strong, Simple, and Precise security for Flask APIs¶
Overview¶
API security should be strong, simple, and precise like a Roman Legionary. This package aims to provide that. Using JWT as implemented by Flask-JWT, flask_praetorian uses a very simple interface to make sure that the users accessing your API’s endpoints are provisioned with the correct roles for access.
This project was heavily influenced by Flask-Security, but intends to supply only essential functionality. Instead of trying to anticipate the needs of all users, flask-praetorian will provide a simple and secure mechanism to provide security for APIs specifically.
The flask-praetorian package can be used to:
- Encrypt (hash) passwords for storing in your database
- Verify plaintext passwords against the encrypted, stored versions
- Generate authorization tokens using a
/auth
api endpoint - Check requests to secured endpoints for authorized tokens
- Ensure that the users associated with tokens have necessary roles for access
All of this is provided in a very simple to confiure and initialize flask extension. Though simple, the security provided by flask-praetorian is strong due to the usage of the proven security technology of JWT and python’s PassLib package.