...
Сервер Архива предлагает API веб-служб. API обеспечивает программный доступ ко многим функциям продукта; в том числе: проведение поиска, извлечение и импорт данных, обход структур папок, отправка данных, управление тегами и удержаниями. В приведенном ниже руководстве приведены практические примеры того, как запрашивать и извлекать данные с сервера. Кроме того, в нем описывается, как создать интерфейс клиента на выбранном языке программирования и получить доступ к полной документации REST API.
Обязательные требования
- Пользователь должен быть создан в Архива/AD/LDAP для доступа к API.
- Пользователю должна быть назначена роль с минимальным разрешением
web services
иview status.
- Пользователю должны быть назначены разрешения, связанные с вызываемой функцией API.
- Если планируется выполнение функции поиска убедитесь, что роль, назначенная пользователю, имеет пустой или соответствующий фильтр.
- При вызове API заголовок
HTTP Authorization
должен быть установлен следующим образом:
Code Block |
---|
base64(APPLICATION+":"+USERNAME+":"+PASSWORD). For example, base64(ROOT:user:test) |
Безопасность
...
Как сгенерировать ключ API
Войдите в веб-консоль Архива как администратор. В разделе Настройка->Авторизация установите флажок Разрешить доступ к API и нажмите кнопку Генерировать, чтобы сгенерировать ключ API.
Обратите внимание на команду curl для выполнения базового поиска через REST API.
Документация Swagger API
Как только сервер будет установлен, посетите http://localhost:8090/api-docs для получения дальнейших инструкций о том, как использовать API. В качестве альтернативы, посетите https://demo.archiva.ru/api-docs чтобы ознакомиться с документацией.
Безопасность
- Для защиты от прослушивания сети убедитесь, что консоль защищена с помощью HTTPS.
При трех последовательных попытках неудачной авторизации сервер будет отклонять все попытки проверки подлинности для одного и того же пользователя в течение длительного периода времени. Кроме того, при каждой неправильной попытке сервер не будет отвечать двадцать секунд.
REST API
Генерация хеша заголовка авторизации
Code Block |
---|
printf %s 'ROOT:admin:test' | base64
output: Uk9PVDphZG1pbjp0ZXN0 |
Где ROOT -
имя приложения для On Premise версий, admin
- имя пользователя, test
- пароль.
Для выполнения базового поиска:
...
Info |
---|
Чтобы избежать ошибки , перед отправкой swagger.json в Редакторе Swagger откройте файл с помощью текстового редактора и укажите имя хоста API в записи хоста.
|
Документация REST API
Для удобства, в каждый дистрибутив мы включили автоматически обновляемую документацию. Документацию можно запустить открыв файл server/ws/index.html.