diff --git a/.env.example b/.env.example index 3b1d3c7..d5554f8 100644 --- a/.env.example +++ b/.env.example @@ -112,7 +112,7 @@ VITE_API_URL=https://start.feuerwehr-rems.at # Development: http://localhost:9000 # Production: https://auth.firesuite.feuerwehr-rems.at # IMPORTANT: Used for OAuth redirect URL construction -VITE_AUTHENTIK_URL=https://auth.firesuite.feuerwehr-rems.at +AUTHENTIK_URL=https://auth.firesuite.feuerwehr-rems.at # ============================================================================ # AUTHENTIK OAUTH CONFIGURATION @@ -122,10 +122,8 @@ VITE_AUTHENTIK_URL=https://auth.firesuite.feuerwehr-rems.at # OAuth Client ID # From Authentik: Applications → Providers → Your Provider -# Used by both the backend (AUTHENTIK_CLIENT_ID) and the frontend build (VITE_CLIENT_ID). -# Set both to the same value from Authentik. REQUIRED for authentication to work! +# Used by both backend and frontend. REQUIRED for authentication to work! AUTHENTIK_CLIENT_ID=your_client_id_here -VITE_CLIENT_ID=your_client_id_here # OAuth Client Secret # From Authentik: Applications → Providers → Your Provider @@ -212,6 +210,7 @@ AUTHENTIK_REDIRECT_URI=https://start.feuerwehr-rems.at/auth/callback # VITE_API_URL=http://localhost:3000 # AUTHENTIK_CLIENT_ID=dev_client_id # AUTHENTIK_CLIENT_SECRET=dev_client_secret +# AUTHENTIK_URL=http://localhost:9000 # AUTHENTIK_ISSUER=http://localhost:9000/application/o/feuerwehr-dashboard/ # AUTHENTIK_REDIRECT_URI=http://localhost:5173/auth/callback # LOG_LEVEL=debug @@ -234,6 +233,7 @@ AUTHENTIK_REDIRECT_URI=https://start.feuerwehr-rems.at/auth/callback # VITE_API_URL=https://start.feuerwehr-rems.at # AUTHENTIK_CLIENT_ID= # AUTHENTIK_CLIENT_SECRET= +# AUTHENTIK_URL=https://auth.firesuite.feuerwehr-rems.at # AUTHENTIK_ISSUER=https://auth.firesuite.feuerwehr-rems.at/application/o/feuerwehr-dashboard/ # AUTHENTIK_REDIRECT_URI=https://start.feuerwehr-rems.at/auth/callback # LOG_LEVEL=info diff --git a/docker-compose.yml b/docker-compose.yml index 2f6c15a..9e8a3f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -62,8 +62,8 @@ services: dockerfile: Dockerfile args: VITE_API_URL: ${VITE_API_URL:-https://start.feuerwehr-rems.at} - VITE_AUTHENTIK_URL: ${VITE_AUTHENTIK_URL:?VITE_AUTHENTIK_URL is required} - VITE_CLIENT_ID: ${VITE_CLIENT_ID:?VITE_CLIENT_ID is required} + AUTHENTIK_URL: ${AUTHENTIK_URL:?AUTHENTIK_URL is required} + AUTHENTIK_CLIENT_ID: ${AUTHENTIK_CLIENT_ID:?AUTHENTIK_CLIENT_ID is required} container_name: feuerwehr_frontend_prod labels: - "traefik.enable=true" diff --git a/frontend/Dockerfile b/frontend/Dockerfile index 1ec7ee6..f8ca3b6 100644 --- a/frontend/Dockerfile +++ b/frontend/Dockerfile @@ -19,15 +19,15 @@ COPY . . # Build arguments for environment variables ARG VITE_API_URL=http://localhost:3000 -ARG VITE_AUTHENTIK_URL -ARG VITE_CLIENT_ID +ARG AUTHENTIK_URL +ARG AUTHENTIK_CLIENT_ID ARG VITE_APP_NAME="Feuerwehr Dashboard" ARG VITE_APP_VERSION="1.0.0" # Set environment variables for build ENV VITE_API_URL=$VITE_API_URL -ENV VITE_AUTHENTIK_URL=$VITE_AUTHENTIK_URL -ENV VITE_CLIENT_ID=$VITE_CLIENT_ID +ENV AUTHENTIK_URL=$AUTHENTIK_URL +ENV AUTHENTIK_CLIENT_ID=$AUTHENTIK_CLIENT_ID ENV VITE_APP_NAME=$VITE_APP_NAME ENV VITE_APP_VERSION=$VITE_APP_VERSION diff --git a/frontend/src/utils/config.ts b/frontend/src/utils/config.ts index 4dc8039..7e636ea 100644 --- a/frontend/src/utils/config.ts +++ b/frontend/src/utils/config.ts @@ -1,7 +1,7 @@ export const config = { apiUrl: import.meta.env.VITE_API_URL || 'http://localhost:3000', - authentikUrl: import.meta.env.VITE_AUTHENTIK_URL || 'https://auth.firesuite.feuerwehr-rems.at', - clientId: import.meta.env.VITE_CLIENT_ID || 'your_client_id_here', + authentikUrl: import.meta.env.AUTHENTIK_URL || 'https://auth.firesuite.feuerwehr-rems.at', + clientId: import.meta.env.AUTHENTIK_CLIENT_ID || 'your_client_id_here', }; export const API_URL = config.apiUrl; diff --git a/frontend/src/vite-env.d.ts b/frontend/src/vite-env.d.ts index 0f4c900..800f084 100644 --- a/frontend/src/vite-env.d.ts +++ b/frontend/src/vite-env.d.ts @@ -2,7 +2,8 @@ interface ImportMetaEnv { readonly VITE_API_URL: string; - // Add more env variables as needed + readonly AUTHENTIK_URL: string; + readonly AUTHENTIK_CLIENT_ID: string; } interface ImportMeta { diff --git a/frontend/vite.config.ts b/frontend/vite.config.ts index 7c3c155..d96f86a 100644 --- a/frontend/vite.config.ts +++ b/frontend/vite.config.ts @@ -20,6 +20,7 @@ export default defineConfig({ }, }, envDir: '../', + envPrefix: ['VITE_', 'AUTHENTIK_'], build: { outDir: 'dist', sourcemap: true,