Сквозная авторизация в плеере Boomstream
Что такое сквозная авторизация?
Сквозная авторизация — это технология, которая позволяет автоматически авторизовать пользователя в плеере Boomstream без необходимости ручного ввода пароля.
Когда ученик входит в ваш личный кабинет и нажимает кнопку «Play», плеер автоматически получает его данные:
- email;
- имя;
- IP-адрес устройства воспроизведения.
Эти данные используются для:
- отображения динамического водяного знака (имя, email, IP);
- автоматического предоставления доступа к контенту без дополнительных действий со стороны пользователя.
Кому подходит это решение?
Сквозная авторизация — идеальный выбор для:
| Платформа | Описание |
|---|---|
| Онлайн-школы | Автоматический доступ к урокам после оплаты |
| LMS-системы | Интеграция с GetCourse, Tilda и другими платформами |
| Корпоративные порталы | Доступ к обучающим видео для сотрудников |
| Кастомные платформы | Любые сайты с собственной системой авторизации |
Главные преимущества:
- Защита от распространения аккаунтов — каждый пользователь авторизуется индивидуально
- Бесшовный пользовательский опыт — ученик не видит лишних шагов
- Динамический водяной знак — защита от записи экрана
Предварительные требования
Перед началом настройки убедитесь, что у вас есть:
| № | Что нужно | Где взять |
|---|---|---|
| 1 | API Key вашего проекта | Раздел «Настройки проекта» → «Интеграция» в личном кабинете |
| 2 | Код медиафайла или трансляции | Берётся из ссылки на видео |
| 3 | Код подписки (доступа) | Создаётся при настройке доступа по паролю |
⚠️ Важное условие: Для работы сквозной авторизации видео должно быть защищено доступом по паролю и опцией «Защита от скачивания».
Пошаговая инструкция по настройке
Шаг 1. Подготовка контента
- Загрузите видео на платформу Boomstream по инструкции или создайте трансляцию.
- Сохраните код медиафайла — он понадобится для интеграции.
Шаг 2. Создание доступа по паролю
Создайте доступ по паролю в личном кабинете или через API метод create.
Рекомендация: используйте групповой доступ — тогда все видео, добавленные в этот доступ, будут открываться по одному паролю.
Настройте параметры доступа:
- дата начала;
- дата окончания;
- период доступа.
Количество доступов не ограничено. Одно видео может быть одновременно в нескольких доступах.
Шаг 3. Добавьте видео в доступ
Добавьте видео в созданный доступ по паролю одним из способов:
Через интерфейс:
- Поставьте галочку слева от названия видео.
- Нажмите кнопку «Ограничить доступ».
- Выберите нужный доступ из списка.
Через API:
Используйте метод addmedia.
Шаг 4. Регистрация зрителя через API
Когда пользователь получает доступ к уроку на вашем сайте, ваш сервер должен зарегистрировать его в Boomstream и получить уникальный идентификатор сессии (hash).
Вы можете выбрать один из двух вариантов:
Вариант А: Генерация хеша на стороне Boomstream
Вы отправляете email пользователя, а Boomstream возвращает уникальный hash.
Пример запроса (PHP):
$apiKey = 'YOUR_API_KEY';
$subscriptionCode = 'SUBSCRIPTION_CODE';
$mediaCode = 'MEDIA_CODE';
$email = 'student@example.com';
$url = "https://boomstream.com/api/ppv/addbuyer?apikey={$apiKey}&code={$subscriptionCode}&media={$mediaCode}&email={$email}¬ification=0";
$response = file_get_contents($url);
$xml = simplexml_load_string($response);
$hash = (string)$xml->hash;
// Сохраните этот $hash в сессии или базе данных пользователя
Пример ответа:
<Hash>123456789</Hash>
Вариант Б: Использование собственного хеша
Вы можете передать свой уникальный идентификатор пользователя (например, ID из вашей базы данных), чтобы избежать хранения дополнительного маппинга.
⚠️ Критически важно: ваш кастомный hash должен содержать уникальный префикс проекта (например, projectA_user123), чтобы избежать коллизий с другими проектами на платформе Boomstream.
Пример запроса (Node.js / Axios):
const axios = require('axios');
const params = new URLSearchParams({
apikey: 'YOUR_API_KEY',
code: 'SUBSCRIPTION_CODE',
media: 'MEDIA_CODE',
email: 'student@example.com',
notification: '0',
hash: 'myproject_user_98765' // Ваш уникальный идентификатор
});
const response = await axios.get(`https://boomstream.com/api/ppv/addbuyer?${params}`);
console.log(response.data);
Итоговая ссылка на запрос:
https://boomstream.com/api/ppv/addbuyer?apikey=[API_KEY]&code=[CODE_SUBSCRIPTION]&media=[CODE_MEDIA]&email=[EMAIL]¬ification=0&hash=[YOUR_HASH_TO_IDENTIFY_USER]
Шаг 5. Передача параметра в плеер
Полученный hash необходимо передать в ссылку на плеер через параметр id_recovery.
Пример встраивания через iframe:
<iframe
src="https://play.boomstream.com/MEDIA_CODE?id_recovery=myproject_user_98765"
width="800"
height="450"
frameborder="0"
allowfullscreen>
</iframe>
Замените MEDIA_CODE на реальный код видео, а myproject_user_98765 — на переменную, полученную с вашего бэкенда.
Итоговая ссылка на плеер выглядит так:
https://play.boomstream.com/0Ut5NKvv?id_recovery=[YOUR_HASH_TO_IDENTIFY_USER]
Шаг 6. Настройка безопасности
6.1. Парковка домена
В личном кабинете Boomstream в разделе «Брендирование» выполните парковку домена.
Адрес вашего плеера станет:
video.vashdomen.ru
⚠️ Это необходимо! Иначе возможна блокировка кроссдоменных запросов браузерами.
6.2. Защита по домену
В личном кабинете в разделе «Защита»:
- Укажите разрешённый домен для воспроизведения.
- Включите опцию «Запретить воспроизведение если рефферер зрителя пустой».

Справочник параметров API addbuyer
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
apikey |
строка | ✅ Да | Ваш секретный ключ API |
code |
строка | ✅ Да | Код подписки (группового доступа по паролю) |
media |
строка | ✅ Да | Код медиафайла или трансляции |
email |
строка | ✅ Да | Email зрителя (будет отображён в водяном знаке) |
notification |
целое число | ❌ Нет | 0 — не отправлять email-уведомление зрителю (рекомендуется) |
hash |
строка | ❌ Нет | Ваш собственный уникальный идентификатор пользователя. Если не указан — Boomstream сгенерирует его автоматически |
Сводная таблица шагов
| Шаг | Действие |
|---|---|
| 1 | Загрузите видео или создайте трансляцию |
| 2 | Создайте групповой доступ по паролю |
| 3 | Добавьте видео в доступ |
| 4 | Добавьте зрителя через API (addbuyer) |
| 5 | Добавьте параметр id_recovery в ссылку на плеер |
| 6 | Настройте передачу параметра в плеер |
| 7 | Выполните парковку домена |
| 8 | Настройте защиту по домену |
Лучшие практики и рекомендации
1. Никогда не храните API Key на фронтенде
Запрос к addbuyer должен выполняться строго с вашего сервера. Не используйте JavaScript на стороне клиента для вызовов API.
2. Используйте динамические водяные знаки
В настройках доступа по паролю включите отображение имени и email в виде водяного знака.

3. Очищайте старые доступы
Если пользователь теряет доступ к курсу, используйте API метод для удаления покупателя или изменения срока действия пароля, чтобы аннулировать его hash.
Часто задаваемые вопросы (FAQ)
❓ Почему видео не воспроизводится и показывает ошибку «Доступ запрещён»?
Проверьте следующее:
- Параметр
id_recoveryкорректно передаётся в URL плеера. - Видео добавлено в ту подписку, которую вы используете в запросе.
- Включена «Защита по домену» и домен, с которого открывается страница, добавлен в список разрешённых.
❓ Можно ли использовать один hash для нескольких видео?
Да, если эти видео добавлены в один и тот же групповой доступ по паролю. Один hash, привязанный к подписке, даёт доступ ко всем медиафайлам внутри этой подписки.
❓ Что делать, если возникает ошибка коллизии hash?
Это происходит, если вы используете Вариант Б (собственный хеш) и указали слишком простой идентификатор (например, 123). Всегда добавляйте к хешу префикс вашего проекта, например: myschool_user_12345.
❓ Работает ли это с мобильными приложениями?
Да, параметр id_recovery корректно обрабатывается в мобильных SDK Boomstream при условии правильной передачи параметров в плеер.
Заключение
Теперь при воспроизведении видео в плеере будет автоматически подставляться пароль, и видео начнёт воспроизводиться без лишних действий со стороны пользователя. Это обеспечивает бесшовный пользовательский опыт и надёжную защиту контента от несанкционированного распространения.
