# Вопросы девопсам — IPWhiteList ## 1. Аутентификация (OIDC/Keycloak) **Как выглядит токен когда пользователь принадлежит нескольким компаниям?** В ТЗ п. 3.1 сказано «поддерживается сценарий когда пользователь принадлежит нескольким компаниям». В текущем токене один `ClientID = WZ01325`. Если компаний несколько — это массив? Отдельный claim? Или всегда разные учётки? **Какие claims реально приходят в токене?** Мы видели в HAR-файле: `ClientID`, `company_id`, `company_name`, `email`, `login`, `groups: null`, `realm_access.roles: null`. Это окончательный список? `groups` всегда `null` или при каких-то условиях заполняется? **Как определяется роль администратора?** Сейчас проверяем `clientId === ADMIN_CLIENT_ID (WZ01112)`. В ТЗ написано «и отдельный чек-бокс». Это флаг/роль `admin` в Keycloak? В каком claim? **JWKS URL для прода?** Для dev генерим RSA-пару локально. Для прода: это `https://keycloak.nubes.ru/realms/cloud/protocol/openid-connect/certs` или другой? **Redirect URI для Keycloak?** Нужно зарегистрировать `https://white.nodejsk8s.dev.nubes.ru/callback` как redirect_uri? ## 2. Развёртывание Node.js **Почему Node.js не деплоится?** PostgreSQL развернулся, Node.js — «нет ресурсов для аллоцирования». Это ограничение платформы? Другой тип ресурсной группы? **Формат `jsonEnv`?** Поле `jsonEnv` ругается «Invalid JSON String». Какой точный формат? **Переменные для прода:** - `NODE_ENV=production` - `KC_CLIENT_ID` + `KC_CLIENT_SECRET` - `SESSION_SECRET` — случайная строка - `DATABASE_URL` — строка подключения Всё через jsonEnv или иначе? ## 3. Сеть **Кто потребитель `/export`?** По ТЗ — без авторизации, ограничение по IP. Какие IP/подсети? **Ingress/CSP:** На проде не работают inline onclick/onchange. Ingress добавляет CSP? Можно ослабить или делать на event delegation?