diff --git a/CHANGELOG.md b/CHANGELOG.md index 0010ef6bab..2662de978b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -71,6 +71,7 @@ and this project adheres to - πŸ›(frontend) fix dnd conflict with tree and Blocknote #1328 - πŸ›(frontend) fix display bug on homepage #1332 - πŸ›link role update #1287 +- πŸ”§(keycloak) Fix https required issue in dev mode #1286 ## [3.5.0] - 2025-07-31 diff --git a/compose.yml b/compose.yml index 88e178e353..a774f11e07 100644 --- a/compose.yml +++ b/compose.yml @@ -184,22 +184,20 @@ services: - env.d/development/kc_postgresql.local keycloak: - image: quay.io/keycloak/keycloak:20.0.1 + image: quay.io/keycloak/keycloak:26.3 volumes: - ./docker/auth/realm.json:/opt/keycloak/data/import/realm.json command: - start-dev - --features=preview - --import-realm - - --proxy=edge - - --hostname-url=http://localhost:8083 - - --hostname-admin-url=http://localhost:8083/ + - --hostname=http://localhost:8083 - --hostname-strict=false - - --hostname-strict-https=false - --health-enabled=true - --metrics-enabled=true healthcheck: - test: ["CMD", "curl", "--head", "-fsS", "http://localhost:8080/health/ready"] + test: ['CMD-SHELL', 'exec 3<>/dev/tcp/localhost/9000; echo -e "GET /health/live HTTP/1.1\r\nHost: localhost\r\nConnection: close\r\n\r\n" >&3; grep "HTTP/1.1 200 OK" <&3'] + start_period: 5s interval: 1s timeout: 2s retries: 300 diff --git a/docker/auth/realm.json b/docker/auth/realm.json index db5f1be021..c5f265a46a 100644 --- a/docker/auth/realm.json +++ b/docker/auth/realm.json @@ -26,7 +26,7 @@ "oauth2DeviceCodeLifespan": 600, "oauth2DevicePollingInterval": 5, "enabled": true, - "sslRequired": "external", + "sslRequired": "none", "registrationAllowed": true, "registrationEmailAsUsername": false, "rememberMe": true, @@ -2270,7 +2270,7 @@ "cibaInterval": "5", "realmReusableOtpCode": "false" }, - "keycloakVersion": "20.0.1", + "keycloakVersion": "26.3.2", "userManagedAccessAllowed": false, "clientProfiles": { "profiles": [] diff --git a/src/frontend/apps/e2e/__tests__/app-impress/home.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/home.spec.ts index 28f479f486..bdc4c9ed6f 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/home.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/home.spec.ts @@ -131,7 +131,7 @@ test.describe('Home page', () => { // Keyclock login page await expect( - page.locator('.login-pf-page-header').getByText('impress'), + page.locator('.login-pf #kc-header-wrapper').getByText('impress'), ).toBeVisible(); }); }); diff --git a/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts b/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts index 4d5a214b31..25cb5b353f 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/utils-common.ts @@ -56,7 +56,7 @@ export const keyCloakSignIn = async ( const password = `password-e2e-${browserName}`; await expect( - page.locator('.login-pf-page-header').getByText('impress'), + page.locator('.login-pf #kc-header-wrapper').getByText('impress'), ).toBeVisible(); if (await page.getByLabel('Restart login').isVisible()) { @@ -65,7 +65,7 @@ export const keyCloakSignIn = async ( await page.getByRole('textbox', { name: 'username' }).fill(login); await page.getByRole('textbox', { name: 'password' }).fill(password); - await page.click('input[type="submit"]', { force: true }); + await page.click('button[type="submit"]', { force: true }); }; export const randomName = (name: string, browserName: string, length: number) =>