feat(frontend): OIDC login + runtime env (FABRIC_OIDC_ONLY/FIX_TO_CENTER)

- Runtime container env injected by docker/entrypoint.sh -> runtime-env.js
  (loaded before the bundle); src/lib/runtime-env.ts reads it.
  FABRIC_OIDC_ONLY hides the password form; FIX_TO_CENTER pins the
  Center base and hides its input. Dockerfile ENTRYPOINT + ENV defaults.
- LoginPage: 'Sign in with SSO' when /auth/oidc/status enabled; password
  form gated by OIDC_ONLY; center input gated by FIX_TO_CENTER.
- /oidc route (OidcCallback) redeems the fragment ticket via
  /auth/oidc/exchange and adopts the session (AuthContext.adoptSession).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
h z
2026-05-18 09:44:49 +01:00
parent 4892af55e8
commit 92d3b4dc1b
11 changed files with 234 additions and 26 deletions

View File

@@ -215,6 +215,14 @@ button {
width: auto;
margin-bottom: 18px;
}
.login-or {
text-align: center;
color: var(--text-faint);
font-size: 11px;
letter-spacing: 0.18em;
text-transform: uppercase;
margin: 14px 0;
}
.login-card h1 {
font-size: 24px;
margin-bottom: 4px;