The provisioned IdP client (https://auth.forgecore.work) is confidential rather than public/PKCE-only, so a client secret must never reach the browser. The frontend now only performs the Authorization Code + PKCE redirect itself (hand-rolled PKCE, oidc-client-ts dependency removed) and hands the resulting code + verifier to a new, intentionally unauthenticated POST /api/v1/auth/session endpoint, which performs the code-for-tokens exchange server-side using OIDC_CLIENT_SECRET and returns only {accessToken, expiresIn} — refresh_token/id_token are never forwarded to the client. New required backend env vars: OIDC_CLIENT_ID, OIDC_CLIENT_SECRET. Added frontend/proxy.conf.json so the Angular dev server forwards /api and /health to the local API without needing CORS.
7 lines
332 B
TypeScript
7 lines
332 B
TypeScript
process.env.DATABASE_URL ??= 'postgresql://test:test@localhost:5432/test';
|
|
process.env.REDIS_URL ??= 'redis://localhost:6379';
|
|
process.env.OIDC_ISSUER ??= 'https://idp.example.test/';
|
|
process.env.OIDC_AUDIENCE ??= 'travel-planner-api';
|
|
process.env.OIDC_CLIENT_ID ??= 'test-client';
|
|
process.env.OIDC_CLIENT_SECRET ??= 'test-secret';
|