Lowball is designed to add simple endpoint level RBAC to your Flask based API services.
Lowball is, at its core, a wrapper around Flask, designed to add authentication and permission management features to Flask's already powerful and modular implementation. Lowball was developed to support three key needs:
- Easy to use route level RBAC controls.
- Abstracted authentication providers and databases for easier integration with your operating environment.
- Ecosystem of 1 - n microservices leveraging a common authentication authority.
pip install lowball
git clone https://github.com/EmersonElectricCo/lowball
cd ./lowball
pip install -r requirements.txt
python3 setup.py install
A minimal lowball service looks like this
from lowball import Lowball, require_admin
app = Lowball()
@app.route("/hello", methods=["GET"])
@require_admin
def hello_world():
return {"hello":"world"}, 200
if __name__ == '__main__':
app.run()
Check docs for more in-depth explanations of components.