TDG Documentation portal logo
Помощь
Обновлена 22 июня 2026 г. в 15:31

Управление токенами через GraphQL API

Токенами приложений в TDG можно управлять с помощью GraphQL-запросов на изменение настроек, используя протокол HTTP. HTTP-запросы при этом должны иметь заголовок схемы admin и соответствующий заголовок для авторизации. Подробнее о таких запросах рассказывается в разделе Управление настройками через GraphQL API. Пример выполнения curl-запроса на изменение настроек можно найти на странице Авторизация Руководства разработчика.

Используя GraphQL API, можно выполнять следующие действия:

Все операции, относящиеся к токенам, выполняются внутри блока token {}. Полный список параметров запросов и их описание приведены на странице Основные настройки TDG.

Чтение информации о токенах

Чтобы вывести список всех токенов приложения, используйте запрос list (query):

query {  token {    list {      name         }        }      }

Чтобы вывести информацию о токене по его имени, используйте запрос get (query):

query {  token {    get(name: "Token1")          {            name            expires_in            created_at            uid            role            state            unblocked_at            state_reason            last_login          }        }      }

Добавление токена

Для создания токена приложения используйте запрос add (mutation):

mutation {    token {        add(          name: "App01"          expires_in: 0          role: "user"        ) {            name            token            created_at        }    }}

При успешной генерации токена система возвращает ответ с указанием токена в явном виде в параметре token:

{  "data": {    "token": {      "add": {        "name": "App01",        "token": "b773dbec-b86b-41aa-5541-887ba722c62e",        "created_at": 1567758613669985599      }    }  }}

При попытке повторно создать токен с уже существующим именем система возвращает сообщение об ошибке.

Редактирование токена

Изменить можно только срок действия токена и его роль. Для редактирования токена приложения используйте запрос update (mutation):

mutation {    token {        update(          name: "App01"          expires_in: 25000          role: "admin"        ) {            name            expires_in            role        }    }}

Блокировка токена

Для изменения статуса токена приложения используйте запрос set_state (mutation):

mutation {    token {        set_state(          name: "App01"          state: "blocked"        ) {            name            role            state        }    }}

Кроме того, токен будет заблокирован автоматически (просрочен), если пользователь будет неактивен в системе дольше определенного времени. Задать необходимое время (не более 45 дней) можно в параметре ban_inactive_more_seconds в секции account_manager файла конфигурации. Разблокировать просроченный токен можно, если задать для него новое значение параметра Expires in.

Импорт токена

Для импорта токена приложения используйте запрос import (mutation):

mutation {  token {    import(      uid: "9d9fec89-c1f0-467f-b756-156fe9d29840"      name: "App02"      expires_in: 2592000      role: "admin"      state: "active"      created_at: 1686927801987245300    ) {      name      uid    }  }}

Удаление токена

Для удаления токена приложения используйте запрос remove (mutation):

mutation {    token {        remove(name: "App01") {            name            created_at            role        }    }}