From 467b0aa6329df88b3cc2f32464696b0328f779c8 Mon Sep 17 00:00:00 2001 From: gabdevele Date: Wed, 17 Jun 2026 18:08:02 +0200 Subject: [PATCH] feat: add CIE authentication configuration options and update README --- README.md | 7 +++++++ config.json | 2 +- main.cc | 10 ++++++++++ migrations/009_drop_area_active_soft_delete.sql | 12 ------------ migrations/010_drop_password_auth.sql | 3 --- 5 files changed, 18 insertions(+), 16 deletions(-) delete mode 100644 migrations/009_drop_area_active_soft_delete.sql delete mode 100644 migrations/010_drop_password_auth.sql diff --git a/README.md b/README.md index 9ce3c4b..7229e70 100644 --- a/README.md +++ b/README.md @@ -146,6 +146,13 @@ Set `DB_NAME`, `DB_USER`, `DB_PASSWORD`, `MYSQL_ROOT_PASSWORD` and origin without quotes or a trailing slash, for example `https://visione.studentindipendenti.it`. +For CIE auth deploys, also override values that vary by environment: +- `CIE_AUTH_SERVICE_BASE_URL` +- `CIE_AUTH_START_PATH` +- `CIE_AUTH_SHARED_SECRET` +- `CIE_AUTH_STATE_TTL_MINUTES` +- `CIE_AUTH_DEFAULT_FRONTEND_REDIRECT_URI` + Docker builds use BuildKit cache mounts for CPM dependencies and `ccache`, so repeat Dokploy builds can reuse Drogon and C++ compilation cache. diff --git a/config.json b/config.json index a328ef9..d6c1b7b 100644 --- a/config.json +++ b/config.json @@ -76,7 +76,7 @@ "spec_path": "build/openapi/visione.openapi.json" }, "cors": { - "allowed_origin": "http://localhost:3000" + "allowed_origin": "http://127.0.0.1:3000" } } } diff --git a/main.cc b/main.cc index 7c397d0..045e62d 100644 --- a/main.cc +++ b/main.cc @@ -38,6 +38,16 @@ int main() config["custom_config"]["mail"]["smtp_port"] = std::stoi(envSmtpPort); if (const char* envCorsAllowedOrigin = std::getenv("CORS_ALLOWED_ORIGIN")) config["custom_config"]["cors"]["allowed_origin"] = envCorsAllowedOrigin; + if (const char* envCieServiceBaseUrl = std::getenv("CIE_AUTH_SERVICE_BASE_URL")) + config["custom_config"]["cie_auth"]["service_base_url"] = envCieServiceBaseUrl; + if (const char* envCieStartPath = std::getenv("CIE_AUTH_START_PATH")) + config["custom_config"]["cie_auth"]["start_path"] = envCieStartPath; + if (const char* envCieSharedSecret = std::getenv("CIE_AUTH_SHARED_SECRET")) + config["custom_config"]["cie_auth"]["shared_secret"] = envCieSharedSecret; + if (const char* envCieStateTtl = std::getenv("CIE_AUTH_STATE_TTL_MINUTES")) + config["custom_config"]["cie_auth"]["state_ttl_minutes"] = std::stoi(envCieStateTtl); + if (const char* envCieFrontendRedirect = std::getenv("CIE_AUTH_DEFAULT_FRONTEND_REDIRECT_URI")) + config["custom_config"]["cie_auth"]["default_frontend_redirect_uri"] = envCieFrontendRedirect; drogon::app().loadConfigJson(config); } else diff --git a/migrations/009_drop_area_active_soft_delete.sql b/migrations/009_drop_area_active_soft_delete.sql deleted file mode 100644 index 921e767..0000000 --- a/migrations/009_drop_area_active_soft_delete.sql +++ /dev/null @@ -1,12 +0,0 @@ -ALTER TABLE teams DROP FOREIGN KEY teams_area_fk; -ALTER TABLE reports DROP FOREIGN KEY reports_area_fk; - -ALTER TABLE areas DROP COLUMN active; - -ALTER TABLE teams - ADD CONSTRAINT teams_area_fk - FOREIGN KEY (area_id) REFERENCES areas(id) ON DELETE SET NULL; - -ALTER TABLE reports - ADD CONSTRAINT reports_area_fk - FOREIGN KEY (area_id) REFERENCES areas(id) ON DELETE SET NULL; diff --git a/migrations/010_drop_password_auth.sql b/migrations/010_drop_password_auth.sql deleted file mode 100644 index 957f2ff..0000000 --- a/migrations/010_drop_password_auth.sql +++ /dev/null @@ -1,3 +0,0 @@ -ALTER TABLE users - DROP COLUMN password_hash, - DROP COLUMN must_change_password;