fix: normalize null fields from unconfigured OIDC response
All checks were successful
CI / build (push) Successful in 1m16s
CI / cleanup-branch (push) Has been skipped
CI / docker (push) Successful in 53s
CI / deploy (push) Successful in 40s
CI / deploy-feature (push) Has been skipped

When no OIDC config exists, the backend returns an object with all
null fields (via OidcAdminConfigResponse.unconfigured()). Normalize
all null values to sensible defaults when loading the form instead
of passing nulls through to Input components and .map() calls.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-03-24 18:44:02 +01:00
parent 9a4a4dc1af
commit 5d2eff4f73

View File

@@ -38,8 +38,17 @@ export default function OidcConfigPage() {
const { toast } = useToast();
useEffect(() => {
adminFetch<OidcFormData>('/oidc')
.then(setForm)
adminFetch<Partial<OidcFormData> & { configured?: boolean }>('/oidc')
.then((data) => setForm({
enabled: data.enabled ?? false,
autoSignup: data.autoSignup ?? true,
issuerUri: data.issuerUri ?? '',
clientId: data.clientId ?? '',
clientSecret: data.clientSecret ?? '',
rolesClaim: data.rolesClaim ?? 'roles',
displayNameClaim: data.displayNameClaim ?? 'name',
defaultRoles: data.defaultRoles ?? ['VIEWER'],
}))
.catch(() => setForm(EMPTY_CONFIG));
}, []);