Difference between revisions of "Внешние идентификаторы пользователей"
(Created page with "Навигация: Главная страница/Система ejudge/Использование/Внешние идентификаторы пол...") |
(...) |
||
| (One intermediate revision by the same user not shown) | |||
| Line 1: | Line 1: | ||
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Внешние идентификаторы пользователей]] | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Использование]]/[[Внешние идентификаторы пользователей]] | ||
| + | |||
| + | Поддерживается с версии [[Изменения в версии 3.11.0|3.11.0]]. | ||
| + | |||
| + | Внешние идентификаторы пользователей - это дополнительная информация, | ||
| + | которая хранится для каждой посылки. При отправке решения на тестирование | ||
| + | с помощью запросов [[API:priv:submit-run]] или [[API:priv:submit-run-input]] | ||
| + | можно задать параметр <code>ext_user</code>, значение которого будет | ||
| + | сохранено в базе посылок. Сохраненное значение можно получить обратно | ||
| + | для каждой посылки с помощью запросов <code>list-runs-json</code>, | ||
| + | <code>run-status-json</code> или <code>get-submit</code>. | ||
| + | |||
| + | Клиент может использовать значение этого поля произвольным образом, | ||
| + | но основное назначение поля - хранить некоторый идентификатор, | ||
| + | который свяжет эту посылку с идентификатором пользователя | ||
| + | во внешней системе. Например, это может быть непосредственно | ||
| + | идентификатор пользователя во внешней системе. Такая возможность | ||
| + | может быть полезна, когда внешняя система отправляет решения | ||
| + | на проверку в ejudge, используя один (системный) идентификатор | ||
| + | пользователя. | ||
| + | |||
| + | Для хранения внешнего идентификатора в базе посылок отводится | ||
| + | 128 бит (16 байт) во внутреннем представлении. Перевод | ||
| + | внешнего идентификатора пользователя из строкового (внешнего) | ||
| + | представления во внутреннее возможен одним из 4 способов, | ||
| + | который задается в параметре <code>ext_user_kind</code>. | ||
| + | |||
| + | * <code>str</code> - строка длиной до 16 символов включительно. В строке допускаются только символы с кодами 32-126 (десятичное), кроме символов требующих специального кодирования в форматах XML и JSON: <code>'</code>, <code>"</code>, <code>\</code>, <code><</code>, <code>></code>, <code>&</code>. | ||
| + | * <code>u64</code> - 64-битное беззнаковое целое число в десятичной записи. Старшие 8 байт значения обнуляются. | ||
| + | * <code>uuid</code> - 128-битное значение в формате UUID | ||
| + | * <code>ulid</code> - 128-битное значение в формате ULID | ||
| + | |||
| + | Примеры (URL-encoded): | ||
| + | |||
| + | ext_user_kind=str&ext_user=ExternalUser | ||
| + | ext_user_kind=u64&ext_user=2737281 | ||
| + | ext_user_kind=uuid&ext_user=d9ab67dc-3398-4a62-bcac-fb2becd09cc8 | ||
| + | ext_user_kind=ulid&ext_user=01H448PDFDAY1ZMD3BAFSDT9FH | ||
Latest revision as of 05:33, 1 August 2023
Навигация: Главная страница/Система ejudge/Использование/Внешние идентификаторы пользователей
Поддерживается с версии 3.11.0.
Внешние идентификаторы пользователей - это дополнительная информация,
которая хранится для каждой посылки. При отправке решения на тестирование
с помощью запросов API:priv:submit-run или API:priv:submit-run-input
можно задать параметр ext_user, значение которого будет
сохранено в базе посылок. Сохраненное значение можно получить обратно
для каждой посылки с помощью запросов list-runs-json,
run-status-json или get-submit.
Клиент может использовать значение этого поля произвольным образом, но основное назначение поля - хранить некоторый идентификатор, который свяжет эту посылку с идентификатором пользователя во внешней системе. Например, это может быть непосредственно идентификатор пользователя во внешней системе. Такая возможность может быть полезна, когда внешняя система отправляет решения на проверку в ejudge, используя один (системный) идентификатор пользователя.
Для хранения внешнего идентификатора в базе посылок отводится
128 бит (16 байт) во внутреннем представлении. Перевод
внешнего идентификатора пользователя из строкового (внешнего)
представления во внутреннее возможен одним из 4 способов,
который задается в параметре ext_user_kind.
str- строка длиной до 16 символов включительно. В строке допускаются только символы с кодами 32-126 (десятичное), кроме символов требующих специального кодирования в форматах XML и JSON:',",\,<,>,&.u64- 64-битное беззнаковое целое число в десятичной записи. Старшие 8 байт значения обнуляются.uuid- 128-битное значение в формате UUIDulid- 128-битное значение в формате ULID
Примеры (URL-encoded):
ext_user_kind=str&ext_user=ExternalUser ext_user_kind=u64&ext_user=2737281 ext_user_kind=uuid&ext_user=d9ab67dc-3398-4a62-bcac-fb2becd09cc8 ext_user_kind=ulid&ext_user=01H448PDFDAY1ZMD3BAFSDT9FH