Авторизация 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/check
https://live.example.com/play/a001/index.m3u8?token=123
https://auth.example.com/check?token=123
X-Real-Path: /play/a001/index.m3u8
и другие заголовки в зависимости от запроса клиентаЕсли бэкенд недоступен, то Astra разрешает доступ.
Если вы получаете доступ к каналу без авторизации, то, вероятно, ваш HTTP-бэкенд недоступен. Проверить это можно с помощью curl
команда. Откройте консоль на вашем сервере с помощью Astra. И попробуйте отправить запрос к HTTP-бэкенду вручную:
curl -v "https://auth.example.com/check"
Разумеется, адрес должен быть таким же, как в настройках.
Если вы видите что-то вроде Connection refused
или соединение задерживается без ответа, то возникает проблема с доступом к бэкенду.