Как настроить верификацию каждого пользовательского запроса?

В этой статье описана процедура настройки верификации каждого пользовательского запроса.

Необходимые условия для выполнения процедуры

Сервисы в составе Аккаунта:

Права доступа вашей учетной записи пользователя:

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

1. Включите поддержку доступа по одноразовым ссылкам

  1. Создайте обращение в Службу сопровождения клиентских сервисов с просьбой включить сервис Tokenized URL, указав идентификатор Сервисной конфигурации (ConfID) для которой вы хотите включить сервис.

Сервис Tokenized URL может быть настроен на обработку токенов, информация о которых передается в Cookie. Если вы хотите передавать токен и время создания одноразовой ссылки через Cookie, сообщите об этом инженеру NGENIX.

  1. Получите от инженера NGENIX уведомление о завершении настройки сервиса, содержащее Пароль для генерации токена. Пароль нужен для того, чтобы Платформа NGENIX могла верифицировать ваш токен.

2. Задайте параметры для генерации токена

  1. Перейдите в клиентском портале NGENIX Multidesk к настройкам Сервисной конфигурации для которого вы запросили настройку сервиса:

    • Выберите в верхнем меню интерфейса NGENIX Multidesk в выпадающем списке Быстрый переход к конфигурации нужную Сервисную конфигурацию;

    • Перейдите в NGENIX Multidesk на страницу Сервисные конфигурации (боковое меню настроек Аккаунта) и нажмите на название нужной Сервисной конфигурации.

  2. На странице Одноразовые ссылки (раздел Защита бокового меню настроек выбранной Сервисной конфигурации) измените:

    1. Пароль (при необходимости);

    2. Время жизни (по умолчанию – 1 час);

    3. Учет IP-адреса в токене (по умолчанию – Не учитывать IP-адрес в токене);

    4. Подпись директорий (по умолчанию – Путь к директории)

  3. Нажмите Сохранить изменения.

3. Измените ссылки к данным

Измените ссылки к данным следующим образом:

https://s12345.cdn.ngenix.net/path-to-file/somefile.ext?t=<timestamp>&h=<hashstring>

где:

  • аргумент запроса t (<timestamp>) – время генерации одноразовой ссылки в формате unix.

  • аргумент запроса h (<hashstring>) – токен одноразовой ссылки. Генерация токена происходит с использованием алгоритма MD5 от строки, содержащей следующие параметры (в заданной последовательности):

    • пароль для генерации токена,

    • ссылка (на директорию или на файл/поток, в зависимости от настроек в личном кабинете NGENIX),

    • временная метка (из аргумента t выше),

    • IP-адрес пользователя (если в настройках сервиса задано учитывать IP-адрес при формировании токена).

Пример кода генерации одноразовой ссылки для доступа к данным на языке PHP

<?php
$pass = "ZiwulbUdigJi"; // пароль для генерации токена
$ip = "192.66.0.1"; // IP-адрес пользователя
$timestamp = time();
$file = "/path-to-file/somefile.ext"; // ссылка на файл
$hashstring = base64_encode( md5( $pass.$file.$timestamp.$ip, true) );
$host = "s12345.cdn.ngenix.net"; // EDGE-DOMAIN
echo "https://".$host.$file."?t=".$timestamp."&h=".$hashstring;
?>

Пример одноразовой ссылки:

https://s12345.cdn.ngenix.net/live/mystream/playlist.m3u8?t=1565094824&h=0pC/727YOSEKdQ8PnXlQZQ==

Last updated