Hallo,
ich habe einen Controller, der für einen Login auf der Seite über eine externe Plattform zuständig ist. (User klickt auf externer Seite einen Button und wird bei mir eingeloggt)
Ich habe es nun geschafft, den Frontend-Member über den folgenden Code einzuloggen.
PHP-Code:
public function login($username) {
$user = $this->userProvider->loadUserByUsername($username);
$this->userChecker->checkPreAuth($user);
$usernamePasswordToken = new UsernamePasswordToken($user, null, 'frontend', $user->getRoles());
$this->tokenStorage->setToken($usernamePasswordToken);
$this->dispatcher->dispatch(
'security.interactive_login',
new InteractiveLoginEvent($this->request, $usernamePasswordToken)
);
}
Nun ist meine Frage, wie ich den Nutzer innerhalb dieses Controllers auch ausloggen könnte? Ich weiß, dass es das Modul "automatischer Logout" gibt, aber ich möchte das in meinem Controller schreiben, ohne einen Redirect auf die Logout-Seite zu machen.
Ginge das irgendwie? Ich hatte irgendwie die Idee im tokenStorage den Token auf null zu setzen, aber das hat einen Fehler geworfen.
Danke für eure Hilfe,
Viele Grüße
Daniel Koch
Lesezeichen