События токенов
События вызываются при добавлении, изменении и удалении токенов через API или админку. Для access и refresh — отдельно.
| Событие | Аргумент обработчика | Результат |
|---|---|---|
| onBeforeTokenAdd | array &$fields | Изменение полей; false отменяет добавление |
| onAfterTokenAdd | Bitrix\Main\Event | Уведомление после добавления |
| onBeforeTokenUpdate | array &$fields | Изменение полей; false отменяет обновление |
| onAfterTokenUpdate | Bitrix\Main\Event | Уведомление после изменения |
| onBeforeTokenDelete | Bitrix\Main\Event | false отменяет удаление |
| onAfterTokenDelete | Bitrix\Main\Event | Уведомление после удаления |
Перед записью
В onBeforeTokenAdd и onBeforeTokenUpdate меняйте поля через array &$fields. Изменения проверяются перед сохранением.
Параметры Event
onBeforeTokenDelete и события onAfterToken* передают apiContext и доступные данные записи: token_id, user_id, client_id, token_type, token_hash. onAfterTokenAdd и onAfterTokenUpdate также передают tokenFields с полями токена. Ключи перечислены в справочнике параметров событий.
Отмена
Возврат false из любого события onBeforeToken* отменяет операцию и прекращает вызов следующих обработчиков этого события.
Коды ошибок отмены: TOKEN_ADD_CANCELLED, TOKEN_UPDATE_CANCELLED, TOKEN_DELETE_CANCELLED. При выпуске, замене или отзыве пары отмена синхронного добавления или удаления откатывает операцию; API отвечает HTTP 403.
При выпуске пары событие изменения токена может вызываться дополнительно для связывания токенов. В HTTP отмена этого обновления не отменяет уже выпущенную пару. При программном выпуске в CLI она может отменить выпуск. Учитывайте это в обработчиках, запрещающих изменения токенов.
Событие onAfterToken* ещё не гарантирует успешное завершение всей операции: она может быть отменена.
Возвращаемое значение After-обработчика игнорируется. Возврат массива для досрочного HTTP-ответа
к событиям токенов не применяется.
Константы — в справочнике ModuleEventConfig.