Эта документация была автоматически переведена ИИ.
Использование ключей API в NocoBase
В этом руководстве мы покажем, как использовать ключи API в NocoBase для получения данных, на примере практического приложения "Список дел". Следуйте пошаговым инструкциям, чтобы полностью понять рабочий процесс.

1 Что такое ключи API
Ключ API — это защищенный токен, который используется для аутентификации запросов API от авторизованных пользователей. Он служит учетными данными, подтверждающими личность отправителя запроса при доступе к системе NocoBase через веб-приложения, мобильные приложения или серверные скрипты.
В заголовке HTTP-запроса он имеет следующий формат:
Префикс "Bearer" указывает, что следующая за ним строка является аутентифицированным ключом API, используемым для проверки прав отправителя запроса.
Типичные сценарии использования
Ключи API обычно используются в следующих сценариях:
- Доступ клиентских приложений: Веб-браузеры и мобильные приложения используют ключи API для аутентификации пользователей, гарантируя, что только авторизованные пользователи могут получать доступ к данным.
- Выполнение автоматизированных задач: Фоновые процессы и запланированные задачи используют ключи API для безопасного выполнения обновлений, синхронизации данных и операций журналирования.
- Разработка и тестирование: Разработчики используют ключи API во время отладки и тестирования для имитации аутентифицированных запросов и проверки ответов API.
Ключи API обеспечивают множество преимуществ в области безопасности: проверку личности, мониторинг использования, ограничение скорости запросов и предотвращение угроз, что гарантирует стабильную и безопасную работу NocoBase.
2 Создание ключей API в NocoBase
2.1 Активация плагина "Аутентификация: ключи API"
Убедитесь, что встроенный плагин "Аутентификация: ключи API" активирован. После его включения в системных настройках появится новая страница конфигурации ключей API.

2.2 Создание тестовой коллекции
Для демонстрации создайте коллекцию с именем todos, содержащую следующие поля:
idЗаголовок (title)Выполнено (completed)

Добавьте в коллекцию несколько примеров записей:
- Поесть
- Поспать
- Поиграть в игры

2.3 Создание и назначение роли
Ключи API привязываются к ролям пользователей, и система определяет разр ешения на запросы на основе назначенной роли. Перед созданием ключа API необходимо создать роль и настроить соответствующие разрешения. Создайте роль с именем "Роль API для списка дел" и предоставьте ей полный доступ к коллекции todos.

Если "Роль API для списка дел" недоступна при создании ключа API, убедитесь, что текущему пользователю назначена эта роль:

После назначения роли обновите страницу и перейдите на страницу управления ключами API. Нажмите "Добавить ключ API", чтобы убедиться, что "Роль API для списка дел" отображается в списке выбора ролей.

Для лучшего контроля доступа можно рассмотреть возможность создания выделенной учетной записи пользователя (например, "Пользователь API для списка дел") специально для управления и тестирования ключей API. Назначьте этому пользователю "Роль API для списка дел".

2.4 Генерация и сохранение ключа API
После отправки формы система отобразит сообщение с подтверждением и только что сгенерированный ключ API. Важно: Немедленно скопируйте и надежно сохраните этот ключ, так как по соображениям безопасности он больше не будет отображаться.

Пример ключа API:
2.5 Важные примечания
- Срок действия ключа API определяется настройками истечения срока действия, заданными при его создании.
- Генерация и проверка ключей API зависят от переменной окружения
APP_KEY. Не изменяйте эту переменную, так как это приведет к аннулированию всех существующих ключей API в системе.
3 Тестирование аутентификации с помощью ключа API
3.1 Использование плагина "Документация API"
Откройте плагин "Документация API", чтобы просмотреть методы запросов, URL-адреса, параметры и заголовки для каждой конечной точки API.

3.2 Основные операции CRUD
NocoBase предоставляет стандартные API для операций CRUD (Create, Read, Update, Delete) с данными:
-
Запрос списка (API
list): -
Создание записи (API
create): -
Изменение записи (API
update): -
Удаление записи (API
destroy):
Где:
{baseURL}: URL вашей системы NocoBase{collectionName}: Имя коллекции
Пример: Для локального экземпляра по адресу localhost:13000 с коллекцией todos:
3.3 Тестирование с помощью Postman
Создайте GET-запрос в Postman со следующей конфигурацией:
- URL: Конечная точка запроса (например,
http://localhost:13000/api/todos:list) - Headers: Добавьте заголовок
Authorizationсо значением:

Успешный ответ:
Ответ с ошибкой (недействительный/истекший ключ API):
Устранение неполадок: Если аутентификация не удалась, проверьте разрешения роли, привязку ключа API и формат токена.
3.4 Экспорт кода запроса
Postman позволяет экспортировать запрос в различных форматах. Пример команды cURL:

4 Использование ключей API в JS-блоке
NocoBase 2.0 поддерживает написание нативного JavaScript-кода непосредственно на страницах с использованием JS-блоков. Этот пример демонстрирует, как получать данные из внешнего API с помощью ключей API.
Создание JS-блока
На странице NocoBase добавьте JS-блок и используйте следующий код для получения данных списка дел:
Ключевые моменты
- ctx.requireAsync(): Динамически загружает внешние библиотеки (например, axios) для выполнения HTTP-запросов.
- ctx.message: Отображает уведомления для пользователя (сообщения о загрузке, успехе, ошибке).
- Аутентификация с помощью ключа API: Передавайте ключ API в заголовке запроса
Authorizationс префиксомBearer. - Обработка ответа: Обрабатывайте возвращенные данные по мере необходимости (отображение, преобразование и т.д.).
5 Заключение
В это м руководстве мы рассмотрели полный рабочий процесс использования ключей API в NocoBase:
- Настройка: Активация плагина "Ключи API" и создание тестовой коллекции.
- Конфигурация: Создание ролей с соответствующими разрешениями и генерация ключей API.
- Тестирование: Проверка аутентификации ключа API с помощью Postman и плагина "Документация API".
- Интеграция: Использование ключей API в JS-блоках.

Дополнительные ресурсы:

