Авторизация Middleware - это авторизация клиента на стороннем сервисе, известном как Middleware.
Для настройки Middleware Authorization откройте Settings -> HTTP Auth. Затем выберите нужный тип "Backend Type" и введите соответствующий "Backend Address" в зависимости от выбранного типа.
Backend Address:
http://example.com/stalker_portal
В настройках Ministra/Stalker включите опцию Temporary URL -> Flussonic support
Backend Address для облачной платформы:
https://go.iptvportal.cloud
Для локальной платформы это будет адрес вашего сервера.
В настройках портала откройте Keys меню и создайте новый ключ:
Name: AstraAlgorithm: ARESSTREAMMode: SMKey Length: 1472 битUpdate Rate: 1:00:00В настройках канала в портале:
Auth: arescryptEncoded: включитьKey: AstraBackend Address:
http://example.com
Если вам необходимо реализовать пользовательскую логику аутентификации, вы можете создать свой собственный бэкэнд. Выберите HTTP Request в Backend Type и укажите URL-адрес конечной точки Middleware.
Astra отправляет HTTP GET-запрос на конечную точку Middleware, добавляя все параметры запроса из исходного запроса и информацию о сессии в HTTP-заголовках:
X-Session-ID - уникальный номер сессииX-Channel-ID - уникальный идентификатор каналаX-Real-IP - IP-адрес клиентаX-Real-Path - путь запроса клиентаX-Real-UA - User-Agent клиентаX-Real-Host - запрос хоста клиентаВ ответ бэкенд может передать следующие HTTP-заголовки:
X-Session-Name - логин клиента или любое другое имя для сеансаНапример:
https://auth.example.com/checkhttps://live.example.com/play/a001/index.m3u8?token=123https://auth.example.com/check?token=123X-Real-Path: /play/a001/index.m3u8 и другие заголовки в зависимости от запроса клиентаЕсли бэкенд недоступен, то Astra разрешает доступ.
Если вы получаете доступ к каналу без авторизации, то, вероятно, ваш HTTP-бэкенд недоступен. Проверить это можно с помощью curl команда. Откройте консоль на вашем сервере с помощью Astra. И попробуйте отправить запрос к HTTP-бэкенду вручную:
curl -v "https://auth.example.com/check"
Разумеется, адрес должен быть таким же, как в настройках.
Если вы видите что-то вроде Connection refused или соединение задерживается без ответа, то возникает проблема с доступом к бэкенду.