Токен отображения и модель безопасности

Токен отображения и модель безопасности

Обзор

У сессии Q&A есть две привилегированные поверхности помимо публичного представления участника: Панель хоста (модерация) и Режим отображения (проекция). Они используют разные примитивы безопасности, потому что их модели угроз различаются.

Поверхность Защита Почему
Панель хоста 6-значный PIN хоста (вводится человеком) Ориентация на мобильные устройства; волонтёры должны быстро аутентифицироваться без копирования длинных URL.
Режим отображения 32-символьный токен отображения в URL Настроил и забыл для проекционного ПО (ProPresenter, OBS, браузеры киосков); никогда не вводится человеком.

На этой странице документированы оба, включая перегенерацию PIN и кода присоединения, и углублённую интеграцию с ProPresenter.

Токен отображения

При создании сессии система генерирует 32-символьный криптографически случайный токен и сохраняет его вместе с сессией. Токен затем встраивается в публичный URL отображения, который вы копируете напрямую с панели хоста или со страницы сессии в админке, а не вводите вручную.

Любой, у кого есть полный URL, может открыть проекционный дисплей без ввода PIN хоста. Дисплей только для чтения — токен не авторизует записи; он только открывает доступ к режиму отображения.

Почему токен, а не PIN

PIN короткий и удобен для ввода человеком. Встраивание его в URL раскрыло бы его в истории браузера, записях экрана и в любом UI «Недавние URL» на общих компьютерах. Токен, напротив, достаточно длинный, чтобы перебор был неосуществим (32 случайных алфавитно-цифровых символа дают примерно 190 бит энтропии). Токен также ограничен только режимом отображения для чтения, поэтому даже при утечке худший случай — «кто-то удалённо смотрит проекционную ленту» — он не может модерировать или удалять контент.

Где найти URL отображения

На панели хоста откройте всплывающее окно Настройки отображения (кнопка проектора/дисплея в интерфейсе панели). Поле URL отображения внизу этого окна содержит полный URL с токеном. Нажмите Копировать, чтобы скопировать в буфер обмена.

Он также появляется на странице сведений о сессии в админке (Q&A → открыть сессию) на карточке URL отображения. Карточка перечисляет два URL:

  • Публичный URL отображения — с меткой PIN не требуется. Это URL с токеном; отправьте его медиакоманде для ProPresenter, OBS или любого браузера проектора. Только чтение — получатели могут просматривать, но не модерировать.
  • URL отображения хоста — с меткой Требуется PIN. Для собственного предпросмотра из авторизованного браузера; запрашивает PIN хоста, если вы ещё не аутентифицированы.

Если URL отображения утёк

Отдельного действия «перегенерировать токен отображения» нет — токен генерируется один раз при создании сессии и остаётся стабильным на всё время жизни сессии, даже при переходах статуса (В эфире → Закрыта → В архиве). Это намеренно, чтобы проекционные ленты продолжали работать без повторной вставки URL посреди богослужения.

Если публичный URL отображения оказался там, где не должен (например, по ошибке опубликован в событии Facebook), практические варианты сдерживания:

  • Закройте или архивируйте сессию, чтобы режим отображения перестал показывать живой контент (см. «Когда токен / PIN перестаёт работать» ниже).
  • Перегенерируйте код присоединения и PIN хоста, чтобы защитить поверхности участника и хоста (у них есть перегенерация в один клик).

Помните: утёкший токен только для чтения — утечка раскрывает проекционную ленту только для просмотра; она никогда не даёт прав модерации или удаления.

PIN хоста

PIN хоста — 6-значный числовой код, генерируемый при создании сессии. Защита PIN документирована в Разрешения и роли → PIN хоста. Кратко:

  • Хранится вместе с сессией.
  • Требуется при первом доступе к панели хоста с любого устройства.
  • При правильном вводе на устройстве устанавливается cookie, ограниченная сессией. Cookie привязана к этой одной сессии; ввод PIN для одной сессии не аутентифицирует другую.
  • Cookie не сохраняются в режиме приватного просмотра / инкогнито браузера.

Перегенерация PIN

На странице сведений о сессии в админке нажмите Перегенерировать PIN (на карточке перегенерации). Эффекты:

  • Генерируется новый 6-значный PIN.
  • Все существующие сеансы хоста для этой сессии аннулируются — каждое устройство с открытой панелью будет снова запрошено при следующем обновлении.
  • Токен отображения не затрагивается; проекционные ленты продолжают работать.

Используйте, когда PIN разошёлся слишком широко или волонтёр-модератор больше не доверен.

Перегенерация кода присоединения

На той же карточке также есть Перегенерировать код, который выдаёт новый код присоединения (и аннулирует текущие QR / короткие ссылки). Подтвердите запрос перед этим — любые напечатанные или общие ссылки присоединения и текущий QR перестанут работать.

Перегенерация кода присоединения не влияет на PIN хоста и токен отображения.

Сводка модели угроз

От чего защищает каждая защита:

Угроза Защита
Случайный участник пытается модерировать PIN хоста (6 цифр, не выводится из публичной информации)
Утечка URL отображения Только чтение токена; закройте/архивируйте сессию, чтобы отключить ленту
Украденное устройство с cookie хоста Cookie, ограниченная сессией; администратор может перегенерировать PIN для аннулирования
Эскалация привилегий между сессиями Cookie и токены ограничены сессией; нет повторного использования между сессиями
Перебор PIN Ввод PIN с ограничением частоты
Перебор токена отображения 32-символьный случайный токен; ~190 бит энтропии; неосуществимо
Злоупотребления публичных участников Лимиты по устройству + блокировка участника + пауза/закрытие сессии (см. 10-rate-limits-and-abuse.md)

Интеграция с ProPresenter — углублённо

ProPresenter имеет первоклассную поддержку веб-слайдов, что рекомендуемый способ встроить дисплей Q&A. URL с токеном создан именно для этого рабочего процесса.

Настройка

  1. Получите URL. На панели хоста откройте всплывающее окно Настройки отображения и скопируйте значение URL отображения — или используйте Публичный URL отображения с карточки URL отображения на странице сведений о сессии в админке.
  2. Создайте веб-слайд в ProPresenter. В плейлисте богослужения добавьте новый слайд и выберите Web как тип слайда.
  3. Вставьте URL в поле URL веб-слайда.
  4. Установите «Auto Refresh» в ВЫКЛ. Дисплей сам обновляется каждые 3 секунды (каждые 15 секунд, когда вкладка скрыта). Автообновление ProPresenter прервёт непрерывность анимации.
  5. Установите «Show in Show» в ВКЛ. Это держит веб-представление отрендеренным, даже когда слайд не активен, поэтому при переключении страница уже загружена и подключена.
  6. Необязательно: Audio: ВЫКЛ. У режима отображения нет звука, но отключение предотвращает создание аудиоконтекста ProPresenter.

Советы

  • Предзагрузка перед богослужением. Сделайте веб-слайд активным на несколько секунд во время предбогослужебного обхода. Слайд подключится, получит текущее состояние и останется синхронизированным с тех пор.
  • Настройка темы. Установите тему проекции и размер шрифта с панели хоста до богослужения. Режим отображения подхватывает изменения в реальном времени, но не хотите возиться с цветами во время богослужения.
  • Полноэкранный режим. Веб-слайд ProPresenter рендерится на холсте слайда. Дисплей автоматически скрывает курсор после нескольких секунд бездействия; дальнейших действий для полноэкранного режима не нужно.
  • Надёжность сети. Дисплей обновляется через короткий интервал, поэтому кратковременные сбои сети дают лишь короткое окно устаревшего состояния до 3 секунд. Нет шторма переподключений; после восстановления сети следующее обновление догоняет.

Интеграция с OBS

Для трансляций с OBS:

  1. Добавьте Browser Source.
  2. Вставьте публичный URL отображения.
  3. Установите ширину/высоту под разрешение вывода (обычно 1920×1080).
  4. Снимите галочку «Shutdown source when not visible» (оставьте загруженным).
  5. Снимите галочку «Refresh browser when scene becomes active» (пусть страница управляет своим обновлением).

Режим отображения адаптивен и чисто рендерится в 1920×1080. Если трансляция использует нестандартное соотношение сторон (вертикальный мобильный, ультраширокий), настройте размер browser source и параметр размера шрифта дисплея.

Когда токен / PIN перестаёт работать

Несколько нормальных случаев, когда защита начинает отказывать:

  • Сессия в архиве или удалена. И режим отображения, и панель хоста возвращают публичную страницу «Сессия завершена» в этом состоянии — защита не запрашивается.
  • Неправильный или отсутствующий ключ в URL отображения. URL с опечаткой или усечённый отклоняется сразу, а не тихо переходит к вводу PIN, поэтому сломанный общий URL падает громко. Перекопируйте полный URL с панели хоста или карточки URL отображения в админке.
  • PIN был перегенерирован. Введите новый PIN на устройстве хоста.
  • Cookie очищены на устройстве хоста. Введите PIN снова.
  • Другой браузер / другое устройство. Каждое устройство аутентифицируется независимо.

Если застряли на стороне хоста, самый быстрый сброс: откройте страницу сведений о сессии в админке, нажмите Перегенерировать PIN, затем введите новый PIN на телефоне хоста. Для проекционной ленты перекопируйте Публичный URL отображения и вставьте заново в ProPresenter или OBS.


Предыдущая: Архив и хранение данных

Мы используем файлы cookie для персонализации вашего опыта. Продолжая посещать этот сайт, вы соглашаетесь на использование нами файлов cookie

Ещё