Документация Corta
-
Аутентификация
-
Аутентификация внешних приложений
-
Аутентификация с использованием Corta
-
Модель безопасности
-
Управление приложениями
-
Настройка No Code
-
Макеты страниц
-
Версионность изменений
-
Настройка хранения записей
-
Открытие записей во всплывающих окнах
-
Импорт и экспорт приложений
-
Обнаружение дубликатов
-
Справочник типов полей
-
Справочник по блокам страницы
-
Доступ к системе Corta
-
Подключения к базам данных (DAL)
-
Управление подключениями
-
Конфиденциальность данных
-
Автоматизация
-
Детали выполнения автоматизации
Доступ к системе Corta
Система Corta разделяет бизнес-логику (back-end) и пользовательский интерфейс (front-end) с помощью API, к которому могут обращаться клиенты (веб-приложения и другие пользовательские приложения).
Corta ориентирована на API, что означает, что все операции можно выполнять через API-эндпоинты.
Аутентификация
Для аутентификации HTTP-запросов система Corta использует JWT-токены (Bearer токены).
JWT-токены предоставляют доступ к системе, поэтому их следует рассматривать как учетные данные для входа и защищать соответствующим образом.
Получение токенов доступа
Прежде чем получить токен доступа, необходимо создать клиента авторизации и системного пользователя. Вы можете использовать уже существующего пользователя (например, себя) или создать отдельного пользователя.
Убедитесь, что у пользователя есть достаточные роли для доступа к необходимым ресурсам.
Создайте нового клиента авторизации с типом предоставления client_credentials. Укажите ID выбранного пользователя в поле «Имя пользователя для имперсонации» (имперсонация — это указание пользователя, от имени которого выполняются действия).
Если ID пользователя не установлен или указан некорректно, будет возвращена ошибка: "auth client security configuration invalid".
Пример запроса через c URL для получения токена доступа:
curl -X POST $CORTA_URL/auth/oauth2/token \
-d grant_type=client_credentials \
-d scope=api \
-u client id:client secret
Пример с реальными данными:
curl -X POST $CORTA_URL/auth/oauth2/token \
-d grant_type=client_credentials \
-d scope=api \
-u 229978909641277628:sMVVcYpXE6bOUm6gG0sJGKmDOzEgkYyhvKyrmcU9fGY8M4GhLd90lThZDxUUFLC9
Пример ответа:
{
"access_token": "ey...MsLA",
"expires_in": 7200,
"refresh_token_expires_in": 0,
"scope": "api",
"sub": "229974909641277121",
"token_type": "Bearer"
}
Полученный токен доступа истекает через два часа. При необходимости запросите новый.
Использование токенов доступа
Каждый HTTP-запрос к защищённому ресурсу должен включать Bearer JWT-токен в заголовке авторизации.
Пример ошибки при отсутствии авторизации:
{
"error": {
"message": "Unauthorized"
}
}
Пример запроса с авторизацией через cURL:
curl "$CORTA_URL" \
-H 'accept: application/json, text/plain, */*' \
-H "authorization: Bearer $JWT";
Пример запроса без авторизации через cURL:
curl "$CORTA_URL" \
-H 'accept: application/json, text/plain, */*';
Эндпоинты с альтернативной аутентификацией
GET /namespace/{namespaceID}/attachment/{kind}/{attachmentID}/original/{name}
GET /namespace/{namespaceID}/attachment/{kind}/{attachmentID}/preview.{ext}
Эндпоинты
Каждая инстанция Corta включает встроенную справку по API, доступную по эндпоинту /docs
.
-
Если API размещается на отдельном поддомене (например, два Docker-контейнера для веб-приложения и API), URL будет выглядеть следующим образом:
https://api.$BASE_URL/docs
.
-
Если API и веб-приложение размещены на одном домене (один Docker-контейнер), URL будет выглядеть следующим образом:
https://$BASE_URL/api/docs
.
Эндпоинты, используемые для отладки и обслуживания, описаны ниже. Полный список доступных эндпоинтов вы найдете в справке по API.
Системные эндпоинты:
-
HTTP_ENABLE_DEBUG_ROUTE
/__profiler
— данные профилирования сервера в формате для инструмента pprof./__routes
— список всех зарегистрированных маршрутов./__eventbus
— список всех зарегистрированных триггеров скриптов автоматизации./__corredor
— список всех зарегистрированных скриптов автоматизации. -
HTTP_ENABLE_VERSION_ROUTE
/version
— отображает время сборки и версию Corta. -
HTTP_ENABLE_HEALTHCHECK_ROUTE
/healthcheck
— выполняет проверку состояния системы и отображает результат.
Формат данных ответа
Система Corta использует три различных формата ответов в зависимости от выполняемой операции и статуса.
Обратите внимание: ошибки возвращаются со статусом 200 OK вместо стандартных кодов 4xx/5xx по историческим причинам. Клиенты API обрабатывают это и корректно интерпретируют ошибки.
Работа с одной записью
При работе с одной записью она возвращается в объекте response
.
{
"response": {...}
}
Работа с несколькими записями
При работе с несколькими записями они возвращаются в массиве set
вместе с объектом фильтрации filter
.
{
"response": {
"filter": {...},
"set": [...]
}
}
Структура объекта filter
зависит от ресурса. Обычно он содержит данные о применённых фильтрах.
Ошибка
При возникновении ошибки сообщение возвращается в поле error.message
.
{
"error": {
"message": "..."
}
}
Если включена трассировка ошибок через переменную окружения HTTP_ERROR_TRACING
, дополнительно возвращаются свойства stack
и wrap
. Это полезно для отладки, но не рекомендуется для использования в рабочем окружении.
{
"error": {
"message": "...",
"stack": [...],
"wrap": {...}
}
}