Задача [API80]: API для обновления и удаления ключа авторизации пользователя

Формулировка проблемы. Метод API rest/api/person/generate_auth_key может генерировать ключ (токен) для авторизации пользователя вне сессии, который может использоваться во внешних модулях. Необходима возможность продления действия этого ключа либо его удаления при закрытии сессии.

Решение.

Обновление аренды ключа

Необходимо реализовать следующий метод:

URL метода: rest/api/person/update_auth_key_expire.

Тип запроса: POST.

Метод принимает следующий параметр:

  • moduleID - идентификатор внешнего модуля (обяз., из таблицы outer_modules либо из раздела конфигуратора «Внешние модули»).

В случае успешного выполнения возвращается статус HTTP 200 (без какого-либо сообщения), действие токена продлевается.

В случае неуспешного выполнения метод возвращает json-объект с полями:

  • errorCode - код выполнения (не равно 0);

  • errorMessage - сообщение об ошибке.

Альтернативные потоки событий

Альтернативный поток №1. Не передан либо передан некорректный (несуществующий) параметр moduleID. Сервер возвращает ошибку HTTP 400 с сообщением:

{
  "errorCode": 3,
  "errorMessage": "Не передан либо передан некорректный параметр moduleID"
}

действие не выполняется.

Удаление ключа

Необходимо реализовать следующий метод:

URL метода: rest/api/person/invalidate_auth_key.

Тип запроса: POST.

Метод принимает следующий параметр:

  • moduleID - идентификатор внешнего модуля (обяз., из таблицы outer_modules либо из раздела конфигуратора «Внешние модули»).

В случае успешного выполнения возвращается статус HTTP 200 (без какого-либо сообщения), токен удаляется.

В случае неуспешного выполнения метод возвращает json-объект с полями:

  • errorCode - код выполнения (не равно 0);

  • errorMessage - сообщение об ошибке.

Альтернативные потоки событий

Альтернативный поток №1. Не передан либо передан некорректный (несуществующий) параметр moduleID. Сервер возвращает ошибку HTTP 400 с сообщением:

{
  "errorCode": 3,
  "errorMessage": "Не передан либо передан некорректный параметр moduleID"
}

действие не выполняется.