codemation / easyauth

Create a centralized Authentication and Authorization token server. Easily secure FastAPI endpoints based on Users, Groups, Roles or Permissions with very little database usage.
https://easyauth.readthedocs.io/en/latest/
MIT License
553 stars 52 forks source link
admin-dashboard authentication authorization fastapi gui jwt permissions rbac user-management



Create a centralized Authentication and Authorization token server. Easily secure FastAPI endpoints based on Users, Groups, Roles or Permissions to minimize database access requirements of Auth.

Documentation Status PyPI version

Documentation

[https://easyauth.readthedocs.io/en/latest/](https://easyauth.readthedocs.io/en/latest/) ## Key Features - Centralized Auth - Single location for Users & Permissions to share across apps - Granular Endpoint Security - Verify user identity, and define explicitly who and what each user or groups of users may access - Admin GUI - easy management of users, permissions, tokens, oauth and more! - Advanced JWT - Token Based Client authorization with built in invalidation capabilities - Google Oauth - Easy to configure google login - Integrated Login & Cookie Management - Users are not just authenticated and authorized, they are re-directed on token expiration to login pages via cookie system and sent back to last location afterwards ## Quick Start ```bash $ virtualenv -p easy-auth-env $ source easy-auth-env/bin/activate (easy-auth) $ pip install easy-auth[server] (easy-auth) $ pip install easy-auth[client] # without db ``` ## Basic Server Configure require env variables via a .json ```Bash $ cat > server_env.json <See 0.0.0.0:8330/docs ![](docs/images/api/api.png) ### GUI ![](docs/images/admin_gui.png) ## Client ![](images/client.png) ![](images/OAuth.png)