"""bincio-auth FastAPI application.""" from __future__ import annotations from fastapi import FastAPI from fastapi.middleware.cors import CORSMiddleware from fastapi.middleware.gzip import GZipMiddleware from bincio.auth.routers import admin, auth, invites, oidc app = FastAPI(title="bincio-auth") app.add_middleware(GZipMiddleware, minimum_size=1024) app.add_middleware( CORSMiddleware, allow_origin_regex=r"https?://localhost(:\d+)?|https://[a-z0-9-]+\.bincio\.org", allow_credentials=True, allow_methods=["GET", "POST", "DELETE", "PATCH"], allow_headers=["Content-Type", "Authorization"], ) for _router in [auth.router, invites.router, admin.router, oidc.router]: app.include_router(_router)