Am un modul personalizat de conectare terță parte care apelează user_login_finalize() după autentificare și user_logout() la deconectare. Ambele funcționalități funcționează, cu excepția cazului în care utilizatorul se conectează/deconecta din calea /user în Drupal, pagina încarcă versiunea paginii /user care ar fi trebuit să fie redată înainte de autentificare/deconectare. Deci, atunci când vă conectați, pagina arată avertismentul neautorizat care a fost acolo la început, până când pagina este reîncărcată. La deconectare, pagina afișează informațiile despre profilul utilizatorului care erau acolo când utilizatorul a fost conectat.
Acest cod rulează într-un abonat de eveniment pentru KernelEvents::REQUEST (autentificarea organizației mele funcționează astfel încât starea dacă un utilizator este autentificat se poate schimba în afara site-ului meu Drupal în orice moment și trebuie verificată înainte de a încărca conținutul).
Nu sunt sigur dacă problema are legătură cu redirecționarea autentificărilor de la terți sau cu memoria cache a Drupal, dar mai există ceva care trebuie șters sau resetat după utilizarea acestor funcții? Le-am folosit în mod intenționat pentru a evita să scriu cod duplicat din ceea ce este deja în Drupal.