feat: auth bypass for dev and testing

ENVIRONMENT must be "local" and DISABLE_AUTH set for this to be active. Both of these default to production values to prevent this being enabled accidentally.

Resolves #5
This commit is contained in:
Chris Milne 2026-05-26 11:42:49 +01:00
parent 652dfb7b4a
commit fa8439cc6c
3 changed files with 11 additions and 2 deletions

View file

@ -12,6 +12,7 @@ from src.config import settings
from src.api import api_router
from src.auth.config import auth_settings
from src.auth.service import get_current_user, get_dev_user
@asynccontextmanager
@ -22,8 +23,8 @@ async def lifespan(_application: FastAPI) -> AsyncGenerator:
if settings.ENVIRONMENT.is_deployed:
# Do this only on prod
pass
# Just a precaution, should be False anyway
settings.DISABLE_AUTH = False
tags_metadata = [
@ -57,4 +58,8 @@ app.add_middleware(
allow_headers=settings.CORS_HEADERS,
)
if settings.ENVIRONMENT == "local" and settings.DISABLE_AUTH:
app.dependency_overrides[get_current_user] = get_dev_user
app.include_router(api_router)