Metadata-Version: 2.1
Name: fastbase
Version: 0.2.0
Summary: 
Home-page: https://github.com/enchance/fastbase.git
License: MIT
Keywords: firebase,fastapi,sqlmodel,authentication,api,rest
Author: enchance
Author-email: enchance@gmail.com
Requires-Python: >=3.11,<4.0
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: fastapi (>=0.104.1,<0.105.0)
Requires-Dist: firebase-admin (>=6.2.0,<7.0.0)
Requires-Dist: pydantic (>=1.9.0,<2.0.0)
Requires-Dist: pytz (>=2023.3.post1,<2024.0)
Requires-Dist: sqlmodel (>=0.0.12,<0.0.13)
Project-URL: Repository, https://github.com/enchance/fastbase.git
Description-Content-Type: text/markdown

Fastbase
=============


Role-based Access Contral (RBAC) via Firebase `idtoken` authententication using FastAPI and SQLModel.


Installation
-----------

```bash
pip install fastbase/home/enchance/Dev/venv/fastbase-_XKMLCSM-py3.11/bin/python
``

or
```bash
poetry add fastbase
```


Instructions
----------------

Fastbase assumes a headless setup using a frontend such as React, Angular, etc.

- `Firebase Auth`: Authentication.
- `Fastbase`: Authorization.

Process:

1. Actual authentication happens in the frontend (JS) after which an `idtoken` is recieved.
1. The `idtoken` is sent to the server for authorization purposes.
1. At first use using the `/signin` endpoint Fastbase checks if the user alread exists in the database. If user is new then a record is created using SQLModel.


