У меня есть сторонний пользовательский модуль входа в систему, который вызывает user_login_finalize() после аутентификации и user_logout() при выходе из системы. Обе эти функции работают, за исключением случаев, когда пользователь входит/выходит из пути /user в Drupal, страница загружает версию страницы /user, которая должна была отображаться до входа/выхода из системы. Таким образом, при входе на страницу отображается предупреждение о несанкционированном доступе, которое было сначала, пока страница не будет перезагружена. При выходе из системы на странице отображается информация о профиле пользователя, которая была там, когда пользователь вошел в систему.
Этот код выполняется в подписчике событий для KernelEvents::REQUEST (аутентификация моей организации работает таким образом, что статус аутентификации пользователя может измениться за пределами моего сайта Drupal в любое время, и его необходимо проверить перед загрузкой содержимого).
Я не уверен, связана ли проблема со сторонним перенаправлением входа в систему или с кешем Drupal, но есть ли что-то еще, что нужно очистить или сбросить после использования этих функций? Я использовал их намеренно, чтобы избежать дублирования кода того, что уже есть в Drupal.