4.4 KiB
4.4 KiB
Json-RPC API
API пользователя и приложения
Имеется два типа доступа к API:
API приложения¶
- Доступ к API осуществляется с использованием пользователя “jsonrpc” и ключа, доступного в настройках
- Доступ ко всем процедурам
- Не проверяются права доступа
- Нет пользовательской сессии на сервере
- Этот доступ можно использовать для: утилит миграции/импорта данных, создания задач из других систем и т.д.
API пользователя¶
- Доступ к API под пользовательскими учетными данными (имя пользователя и пароль)
- Доступ к ограниченному набору процедур
- Проверка прав доступа к проекту
- На сервере создается пользовательская сессия
- Этот доступ можно использовать для клиентов: мобильных/десктопных приложений, утилит коммандной строки и т.д.
Безопасность
- Всегда используйте протокол HTTPS с действительным сертификатом
- Если вы делаете мобильное приложение, позаботьтесь о безопасном хранении учетных данных пользователя на мобильном устройстве
- После 3 неправильных подключений к пользовательскому api, пользователь может разблокировать свою учетную запись только с использованием формы входа
- Двухуровневая аутентификация пока не доступна через API
Протокол
Канборд использует протокол Json-RPC для взаимодействия с внешними программами.
JSON-RPC - протокол удаленного вызова процедур в формате JSON. По сути своей, тот же XML-RPC, но использующий формат JSON.
Мы используем протокол версии 2. Вы можете вызывать API используя POST{.docutils .literal} HTTP запрос.
Канборд поддерживает пакетные запросы, поэтому вы можете делать многократные API вызовы в одном HTTP запросе. Это, в частности, удобно для мобильных клиентов с высокой сетевой задержкой.