Difference between revisions of "API"

From EjudgeWiki
(...)
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[API]]
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[API]]
 +
 +
== Аутентификация ==
 +
 +
Все API-методы поддерживают как аутентификацию с помощью cookie + session,
 +
как для веб-браузера, так и аутентификацию с помощью API ключа.
 +
 +
API ключ создается в веб-интерфейсе мастера турнира или участника турнира.
 +
Мастер турнира может создавать привилегированные ключи с привязкой
 +
к турниру или без привязки к турниру, участник турнира может создавать
 +
ключи API только для этого турнира.
 +
 +
=== Создание привелигированного ключа API ===
 +
 +
Для создания ключа в интерфейсе администратора выберите пункт меню
 +
View / API Keys. Затем можно уточнить параметры создаваемого
 +
ключа в разделе "Create new API key".
 +
 +
* "Duration" позволяет задать срок действия ключа. По-умолчанию он неограничен.
 +
* "Contest ID" позволяет указать номер турнира, для которого действует ключ. Если не указать номер турнира, ключ действует для всех турниров.
 +
* "Priv Level" позволяет задать уровень привилегий: "User" — обычный участнк турнира, "Observer" — наблюдатель, "Judge" — судья, "Admin" — администратор турнира.
 +
 +
Затем при нажатии на "Submit" будет создана новый ключ API.
 +
 +
В браузере отобразятся данные созданного ключа. Из них в текущей версии
 +
требуется только "API key token" (это первая строка таблицы).
 +
Например, пусть API key token равен <code>qUcNocRPJnK7iXE8Wm1ty6XfB5vUVVJIjSrYEmoha-c</code>. Чтобы использовать токен для аутентификации в запросах,
 +
в http заголовок нужно добавить строку:
 +
 +
Authorization: Bearer AQAA<TOKEN>
 +
 +
То есть перед значением токена приписывается <code>AQAA</code>.
  
 
== Привилегированный API ==
 
== Привилегированный API ==

Revision as of 17:30, 2 February 2023

Навигация: Главная страница/Система ejudge/Использование/API

Аутентификация

Все API-методы поддерживают как аутентификацию с помощью cookie + session, как для веб-браузера, так и аутентификацию с помощью API ключа.

API ключ создается в веб-интерфейсе мастера турнира или участника турнира. Мастер турнира может создавать привилегированные ключи с привязкой к турниру или без привязки к турниру, участник турнира может создавать ключи API только для этого турнира.

Создание привелигированного ключа API

Для создания ключа в интерфейсе администратора выберите пункт меню View / API Keys. Затем можно уточнить параметры создаваемого ключа в разделе "Create new API key".

  • "Duration" позволяет задать срок действия ключа. По-умолчанию он неограничен.
  • "Contest ID" позволяет указать номер турнира, для которого действует ключ. Если не указать номер турнира, ключ действует для всех турниров.
  • "Priv Level" позволяет задать уровень привилегий: "User" — обычный участнк турнира, "Observer" — наблюдатель, "Judge" — судья, "Admin" — администратор турнира.

Затем при нажатии на "Submit" будет создана новый ключ API.

В браузере отобразятся данные созданного ключа. Из них в текущей версии требуется только "API key token" (это первая строка таблицы). Например, пусть API key token равен qUcNocRPJnK7iXE8Wm1ty6XfB5vUVVJIjSrYEmoha-c. Чтобы использовать токен для аутентификации в запросах, в http заголовок нужно добавить строку:

Authorization: Bearer AQAA<TOKEN>

То есть перед значением токена приписывается AQAA.

Привилегированный API

Непривилегированный API