api.auth Работа с ключами авторизации

Ключ авторизации генерируется для формирования ссылок на карточку объекта (на форму редактирования) и выполнения действия через REST сервисы.

Не рекомендуется отправлять пользователю в оповещении ссылку с accessKey другого сотрудника. Ссылка в оповещении либо не содержит ключ, чтобы пользователь мог сам авторизоваться в системе, особенно если настроена сквозная авторизация, либо ключ должен быть одноразовый или с коротким сроком жизни и выписанный для текущего пользователя.

Генерация ключей авторизации

  • api.auth.getAccessKeyByUUID(userUUID)

    Генерация ключа авторизации по UUID пользователя (ключ авторизации, не требующий наличия у сотрудника логина). Пользователь может генерировать accessKey только для себя.

    Параметр метода:

    • userUUID — UUID пользователя, для которого будет сгенерирован ключ авторизации. Не может быть null.
  • api.auth.getAccessKey(username)

    Генерация ключа авторизации по имени пользователя (по умолчанию генерируется многоразовый ключ с возможностью использования в течение недели). Пользователь может генерировать accessKey только для себя.

    Параметр метода:

    • username — реальное имя пользователя (логин), для которого будет сгенерирован ключ авторизации.

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

    Примечание. Для получения значения AccessKey необходимо добавить свойство UUID:

    return api.auth.getAccessKey('username').uuid

    Атрибуты метода:

    • api.auth.getAccessKey('username').setDisposable() — одноразовый ключ авторизации;
    • api.auth.getAccessKey('username').setReusable() — многоразовый ключ авторизации;
    • api.auth.getAccessKey('username').setDeadlineDays(days) — время жизни многоразового ключа в днях;
    • api.auth.getAccessKey('username').setDeadlineHours(hours) — время жизни многоразового ключа в часах;
    • api.auth.getAccessKey('username').setDeadlineMinutes(minutes) — время жизни многоразового ключа в минутах;
    • api.auth.getAccessKey('username').setDescription('description') — описание ключа.

Работа с временными характеристиками ключей авторизации

  • AccessKey setDeadline(date)

    Устанавливает конкретную дату, до которой ключ будет действителен.

    Параметр метода:

    • date — дата и время.

    Возвращает объект ключа авторизации.

    Пример:

    /*Параметры*/
    def Date = new Date().parse("d/M/yyyy", "19/10/2022"); //дата, до которой ключ будет действителен
    /*Установка конкретной даты, до которой ключ будет действителен */
    api.auth.getAccessKey('username').setDeadline(Date);
  • AccessKey setDeadlineDays(days)

    К сегодняшней дате добавляет указанное количество дней и устанавливает дату, до которой ключ будет действителен.

    Параметр метода:

    • days — количество дней. Int.

    Возвращает объект ключа авторизации.

    Пример:

    /*Параметры*/
    def days = 5; //количество дней
    /*Установка через сколько дней истечет время жизни ключа */
    api.auth.getAccessKey('username').setDeadlineDays(days);
  • AccessKey setDeadlineHours(hours)

    К сегодняшней дате добавляет указанное количество часов и устанавливает дату, до которой ключ будет действителен.

    Параметр метода:

    • hours — количество часов. Int.

    Возвращает объект ключа авторизации.

    Пример:

    /*Параметры*/
    def hours = 5; //количество часов
    /*Установка через сколько часов истечет время жизни ключа */
    api.auth.getAccessKey('username').setDeadlineHours(hours);
  • AccessKey setDeadlineMinutes(minutes)

    К сегодняшней дате добавляет указанное количество минут и устанавливает дату, до которой ключ будет действителен.

    Параметр метода:

    • minutes — количество минут. Int.

    Возвращает объект ключа авторизации.

    Пример:

    /*Параметры*/
    def minutes = 5; //количество минут
    /*Установка через сколько минут истечет время жизни ключа */
    api.auth.getAccessKey('username').setDeadlineMinutes(minutes);

Инвалидация ключей доступа

  • api.auth.removeAccessKeys(username)

    Инвалидация всех ключей доступа указанного пользователя (имя пользователя).

    Параметр метода:

    • username — имя пользователя, не может быть null.
  • api.auth.removeAccessKeysByUUID(userUUID)

    Инвалидация всех ключей доступа указанного пользователя (UUID пользователя).

    Параметр метода:

    • userUUID — UUID пользователя, не может быть null.

Активация / деактивация ключей доступа

  • api.auth.activateAccessKey(UUID)

    Активация ключа авторизации по его UUID.

    Параметр метода:

    • UUID — уникальный идентификатор ключа доступа. String.
  • api.auth.deactivateAccessKey(UUID)

    Деактивация ключа авторизации по его UUID.

    Параметр метода:

    • UUID — уникальный идентификатор ключа доступа. String.

Получение всех существующих ключей авторизации для сотрудника

  • api.auth.findAccessKeysByEmployeeLogin(employeeLogin)

    Получение списка всех уникальных идентификаторов ключей авторизации для сотрудника с указанным логином.

    Параметр метода:

    • employeeLogin — логин сотрудника. String.

    Возвращает:

    • Коллекция UUID ключей авторизации для конкретного сотрудника.
    • Пустую коллекцию, если ключи не найдены.
    • FxException, если параметр employeeLogin нулевой или содержит пустое значение.
  • api.auth.findAccessKeysByEmployeeUUID(employeeUUID)

    Получение списка всех уникальных идентификаторов ключей авторизации для сотрудника с указанным UUID.

    Параметр метода:

    • employeeUUID — уникальный идентификатор сотрудника. String.

    Возвращает:

    • Коллекция UUID ключей авторизации для конкретного сотрудника.
    • Пустую коллекцию, если ключи не найдены.
    • FxException, если параметр employeeUUID нулевой или содержит пустое значение.

Получение информации о существующих ключах авторизации

  • api.auth.getAccessKeyInfo(UUID)

    Получение информации о конкретном ключе авторизации.

    Параметр метода:

    • UUID — уникальный идентификатор ключа авторизации. String.

    Возвращает:

    • Ассоциативный массив (карту): ключ — код атрибута класса AccessKey, значение — значение соответствующего атрибута.
    • Пустую карту, если ключ не найден.
  • api.auth.getAllAccessKeysInfo(firstResult, maxResults)

    Получение информации о всех существующих ключах авторизации.

    Параметры метода:

    • firstResult — начальная позиция результирующего списка. Int.
    • maxResults — максимальное количество возвращаемых значений. Int.

    Возвращает:

    • Коллекцию карт: ключи — коды атрибутов класса AccessKey; значения — значения соответствующих атрибутов.
    • Пустую коллекцию, если ключи не найдены.
  • api.auth.getEmployeeAccessKeysInfoByLogin(employeeLogin)

    api.auth.getEmployeeAccessKeysInfoByLogin(employeeLogin, firstResult, maxResults)

    Получение информации обо всех существующих ключах авторизации для конкретного сотрудника по его логину.

    Параметры метода:

    • employeeLogin — логин сотрудника. String;
    • firstResult — начальная позиция результирующего списка. Int;
    • maxResults — максимальное количество возвращаемых значений. Int.

      Если не указано, то максимальное количество возвращаемых объектов по умолчанию 100.

    Возвращает:

    • Коллекцию карт: ключи — коды атрибутов класса AccessKey, значения — значения соответствующих атрибутов.
    • Пустую коллекцию, если ключи не найдены.
    • FxException, если передана пустая строка/null в качестве аргумента employeeLogin.
  • api.auth.getEmployeeAccessKeysInfoByUUID(employeeUUID)

    api.auth.getEmployeeAccessKeysInfoByUUID(employeeUUID, firstResult, maxResults)

    Получение информации обо всех существующих ключах авторизации для конкретного сотрудника по его UUID.

    Параметры метода:

    • employeeUUID — уникальный идентификатор сотрудника. String;
    • firstResult — начальная позиция результирующего списка. Int;
    • maxResults — максимальное количество возвращаемых значений. Int.

      Если не указано, то максимальное количество возвращаемых объектов по умолчанию 100.

    Возвращает:

    • Коллекцию карт: ключи — коды атрибутов класса AccessKey, значения — значения соответствующих атрибутов.
    • Пустую коллекцию, если ключи не найдены.
    • FxException, если передана пустая строка/null в качестве аргумента employeeUUID.

Методы отзыва мобильных JWT-токенов

Методы также инвалидируют сессию при SSO-аутентификации.

  • api.auth.revokeJwtToken(token)

    Отзывает access и refresh JWT-токены.

    Параметр метода:

    • token — access-токен или refresh-токен. String.
  • api.auth.revokeAllJwtTokens()

    Отзывает активные JWT-токены всех пользователей, кроме суперпользователей.

  • api.auth.revokeJwtTokensForEmployee(employee)

    Отзывает активные JWT-токены любого пользователя, включая суперпользователей.

    Параметр метода:

    • employee — объект сотрудника, его идентификатор или логин.