From da0f8943426ae96ef483ebd65c591fbb00ddd9b5 Mon Sep 17 00:00:00 2001 From: "Zimin A.N." Date: Tue, 26 May 2026 13:11:49 +0300 Subject: [PATCH] =?UTF-8?q?feat(auth):=20Phase=201b=20=E2=80=94=20swap=20d?= =?UTF-8?q?efault=20Keycloak=20realm=20=D0=BD=D0=B0=20altum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Frontend default: https://auth.nstart.space/realms/nstart → https://altum.nstart.cloud/auth/realms/altum. Shared SSO с altum portal. Keycloak setup (Keycloak admin actions требуются ДО merge): - В realm `altum` создать client `ordinis` (тип: public, standard flow) - Redirect URIs: https://ordinis.nstart.cloud/* https://ordinis.k8s.265.nstart.cloud/* http://localhost:5173/* - Web origins: те же - Client-roles: ordinis-public, ordinis-internal, ordinis-restricted, admin (admin даёт RESTRICTED через ScopeContext.isAdminRole) Backend issuerUri меняется отдельным MR в ordinis-infra (charts/ordinis/values.yaml). После настройки Keycloak + деплоя — старый realm auth.nstart.space/nstart больше не используется. Все юзеры должны иметь учётки в realm altum (вероятно brokered к nstart-id если SSO с New Start ID настроен). 171/171 tests, TSC чистый. --- ordinis-admin-ui/src/lib/keycloak.ts | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/ordinis-admin-ui/src/lib/keycloak.ts b/ordinis-admin-ui/src/lib/keycloak.ts index d0e0c36..3b3ffb9 100644 --- a/ordinis-admin-ui/src/lib/keycloak.ts +++ b/ordinis-admin-ui/src/lib/keycloak.ts @@ -7,12 +7,17 @@ import Keycloak from 'keycloak-js' * бесконечную петлю POST /token когда refresh_token истекал, см. * MR !269 revert). * - *

Default URL = `auth.nstart.space/realms/nstart/clients/ordinis` — - * текущий ordinis realm. Phase 2 (отдельный эпик) — миграция на - * `altum.nstart.cloud/auth/realms/altum` если решим SSO с altum. + *

Default → altum realm (`altum.nstart.cloud/auth/realms/altum`) — + * shared SSO с altum portal. Старый `auth.nstart.space/realms/nstart` + * deprecated, использовать нельзя. В Keycloak realm `altum` должен быть + * client `ordinis` с redirect URI: + * - `https://ordinis.nstart.cloud/*` (prod) + * - `https://ordinis.k8s.265.nstart.cloud/*` (staging) + * - `http://localhost:5173/*` (dev) + * Также web-origins для CORS на silentCheckSsoRedirectUri. */ -const KC_URL = import.meta.env.VITE_KEYCLOAK_URL ?? 'https://auth.nstart.space' -const KC_REALM = import.meta.env.VITE_KEYCLOAK_REALM ?? 'nstart' +const KC_URL = import.meta.env.VITE_KEYCLOAK_URL ?? 'https://altum.nstart.cloud/auth' +const KC_REALM = import.meta.env.VITE_KEYCLOAK_REALM ?? 'altum' const KC_CLIENT_ID = import.meta.env.VITE_KEYCLOAK_CLIENT_ID ?? 'ordinis' let _kc: Keycloak | null = null