FastAPIUIAuth
Python module to add username and password authentication to specific FastAPI routes
Platform Supported
Deployments
Installation
pip install FastAPI-UI-Auth
Usage
import logging
import uiauth
from fastapi import FastAPI
from fastapi.routing import APIRoute
app = FastAPI()
@app.get("/public")
async def public_route():
return {"message": "This is a public route"}
async def private_route():
return {"message": "This is a private route"}
uiauth.protect(
# ------ MANDATORY ARGS ------
app=app,
routes=APIRoute(
path="/private",
endpoint=private_route
),
username="admin",
password="password123",
# ------ OPTIONAL ARGS ------
totp_token="JBSWSECUREDK3PXP",
session_timeout=3600,
fallback=uiauth.Fallback(button="GO BACK", path="/public"),
custom_logger=logging.getLogger("my_custom_logger")
)
FastAPI-UI-Authsupports bothAPIRouteandAPIWebSocketRouteroutes.
Refer samples directory for different use-cases.
Coding Standards
Docstring format: Google
Styling conventions: PEP 8 and isort
Release Notes
Requirement
python -m pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
Linting
Requirement
python -m pip install sphinx==5.1.1 pre-commit recommonmark
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/FastAPI-UI-Auth/
License & copyright
© Vignesh Rao
Licensed under the MIT License
Metadata
Release files for FastAPI-UI-Auth 0.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fastapi_ui_auth-0.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / fastapi_ui_auth-0.4.1-py3-none-any.whl
| Download URL | fastapi_ui_auth-0.4.1-py3-none-any.whl |
|---|---|
| Size | 22.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
022cf270150460d23157615bf5285980d654f75c586b8785830fd6bcd637c2a3
|
|
BLAKE2b-256 checksum How to use checksums |
1fb528ebb21488b7f203f929495b071121c2d45b9e8645df85d11a0e460cd0a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.0rc1
|