Fix Keycloak Environment Variable Loading
🐛 Issue
Environment variables aren't loaded at module initialization, causing Keycloak to use defaults (master realm, test client) instead of .env.local values.
🛠️ Solution
Convert envConfig to use dynamic getters instead of module-load initialization.
Before:
export const envConfig: EnvConfig = {
keycloak: {
realm: getEnv("NEXT_PUBLIC_KEYCLOAK_REALM", "master"), // Called at load
clientId: getEnv("NEXT_PUBLIC_KEYCLOAK_CLIENT_ID", "test"),
}
};
After:
export const envConfig = {
get keycloak() {
return {
realm: process.env.NEXT_PUBLIC_KEYCLOAK_REALM!, // Called when accessed
clientId: process.env.NEXT_PUBLIC_KEYCLOAK_CLIENT_ID!,
};
}
};
✅ Acceptance Criteria
-
Uses compliancerealm instead ofmaster -
Uses compliance-dashboardclient instead oftest -
Environment variables load dynamically -
Works in both SSR and client contexts
Edited by Manuel Ucles