Skip to main content
ui_config — именованный набор настроек окна входа, принадлежащий проекту. В нём живут брендинг и поведение потока; приложение не описывает эти настройки у себя, а называет код нужного набора.

Кто что делает

  • владелец проекта заводит наборы и даёт им коды — динамически, в Console;
  • приложению назначаются набор по умолчанию и список разрешённых кодов; код вне этого списка передать нельзя.
Приложение выбирает набор параметром authorize-запроса:
Параметр опциональный. Не передан — применяется набор по умолчанию для этого приложения.

Что набор задаёт

  • какие каналы показывать и как — все сразу или один (ChannelDisplayMode);
  • шаблон оформления окна;
  • поведение после подтверждения: что происходит с окном и продолжается ли поток автоматически;
  • текст подтверждения.
Чего ui_config не задаёт — частая ошибка ожиданий: режим подтверждения входа и режим аудита. Это политики владельца развёртывания, и через набор настроек окна они не переопределяются.

Порядок резолюции

Итоговое значение любой настройки собирается по цепочке — от самой частной к самой общей:
Побеждает первый уровень, где значение задано и разрешено. Верхний уровень может только сузить то, что разрешил нижний: защитные настройки задают потолок, а не подсказку. Это ответ на вопрос «почему я вижу не то, что настроил»: скорее всего значение задано на более частном уровне либо срезано потолком на более общем.
Авторитетна серверная резолюция на /connect/authorize, а не то, что вернул bootstrap. Bootstrap показывает, что включено в проекте; итоговый вид окна определяется в момент запроса.

Чего нет

Список разрешённых кодов ui_config машинно получить неоткуда: в ответе bootstrap его нет, хотя /connect/authorize проверяет код по allowlist. Уточняйте его у владельца проекта или смотрите в Console.