Аутентификация и настройка
Включение API
- Открыто:
Win64/PalDefender/RESTAPI/RESTConfig.json - Установите для
"Enabled"значениеtrue. - Перезапустите сервер.
При запуске вы должны увидеть журналы, похожие на:
[16:42:28][info] [RESTAPI] Loaded 'RESTConfig.json'.
[16:42:31][info] [RESTAPI] Loaded 1 Bearer token.
[16:42:31][info] [RESTAPI] Running PalDefender RESTAPI on port 17993
Порт
- Порт по умолчанию:
17993
Не открывайте API для публичного доступа. Если доступ к API нужен за пределами локальной сети или компьютера, разместите его за обратным прокси-сервером (nginx/Caddy/Traefik) и завершайте TLS там. Сам REST API PalDefender должен оставаться привязанным к localhost или частному интерфейсу.
Токены
- Запустите сервер один раз, чтобы сгенерировать пример токена.
- Каждый файл
.jsonвнутриWin64/PalDefender/RESTAPI/Tokens/рассматривается как действительный файл токена. (Единственным исключением является файлTokenExample.json!) - Создайте один токен для каждого person/service.. Токены — это пароли.
Пример файла токена:
{
"Name": "AdminPanel",
"Token": "DblJITQxmavSbIWyYIEwHiND2SkMsq1LGesgmlhgzNgu230TGRlNFoWp5cavqgoa",
"Permissions": [
"REST.*"
]
}
`Permissions` может быть строкой string или array. Используйте более узкие разрешения для общедоступных информационных панелей или автоматизации, которые не должны иметь полный доступ администратора.
Заголовки
Отправьте токен через стандартный заголовок авторизации:
Python пример
import requests
base_url = "http://127.0.0.1:17993"
# do not do this. Never store the token in any code. use smth like .env! This is only for demonstration.
token = "DblJITQxmavSbIWyYIEwHiND2SkMsq1LGesgmlhgzNgu230TGRlNFoWp5cavqgoa"
headers = {"Authorization": f"Bearer {token}"}
r = requests.get(base_url + "/v1/pdapi/version", headers=headers, timeout=10)
print(r.status_code, r.text)