From e4e7497b3e2480e8edd55d6e1f38da2ff836cf86 Mon Sep 17 00:00:00 2001 From: Kai Vogelgesang Date: Fri, 7 Oct 2022 23:20:49 +0200 Subject: [PATCH] Add CORS middleware --- .env | 5 ++++- backend/app.py | 11 +++++++++++ backend/settings.py | 2 ++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.env b/.env index db98bd4..fdcfe7c 100644 --- a/.env +++ b/.env @@ -1,2 +1,5 @@ MONGO_URI="mongodb://user:pass@localhost:27017/" -ADMIN_TOKEN="admin" \ No newline at end of file +ADMIN_TOKEN="admin" + +# CORS_ORIGINS='["*"]' +# CORS_REGEX="http://.*\.example\.com" \ No newline at end of file diff --git a/backend/app.py b/backend/app.py index 4daf69a..572e394 100644 --- a/backend/app.py +++ b/backend/app.py @@ -29,6 +29,17 @@ app = FastAPI( openapi_tags=tags_metadata, ) +if settings.cors_origins or settings.cors_regex: + from fastapi.middleware.cors import CORSMiddleware + + app.add_middleware( + CORSMiddleware, + allow_origins=settings.cors_origins, + allow_origin_regex=settings.cors_regex, + allow_methods=["*"], + allow_headers=["*"], + ) + Coming = Literal["yes", "no", "maybe"] GrammaticalGender = Literal["m", "f", "d"] diff --git a/backend/settings.py b/backend/settings.py index 3ffd322..c63a8eb 100644 --- a/backend/settings.py +++ b/backend/settings.py @@ -4,6 +4,8 @@ from pydantic import BaseSettings, SecretStr class Settings(BaseSettings): mongo_uri: str admin_token: SecretStr + cors_origins: list[str] | None + cors_regex: str | None class Config: env_file = ".env"