859 B
859 B
Authentication
OhMyAPI comes bundled with a builtin authentication app.
Simply add ohmyapi_auth to your INSTALLED_APPS and configure a JWT_SECRET.
Enable Auth App
settings.py:
INSTALLED_APPS = [
"ohmyapi_auth",
...
]
JWT_SECRET = "t0ps3cr3t"
Remember to makemigrations and migrate to create the necessary database tables.
ohmyapi makemigrations
ohmyapi migrate
Permissions
With the ohmyapi_auth app comes everything you need to implement API-level permissions.
Use FastAPI's Depends pattern in combination with either the provided or custom permissions.
from ohmyapi.router import APIRouter, Depends
from ohmyapi_auth import (
models as auth,
permissions,
)
router = APIRouter()
@router.get("/")
def get(user: auth.User = Depends(permissions.require_authenticated)):
...