Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 55c0fabc authored by Fahim Salam Chowdhury's avatar Fahim Salam Chowdhury 👽
Browse files

feat: check userLoggedIn or not at passwordUpdateListener

parent 0201405c
Loading
Loading
Loading
Loading
Loading
+8 −5
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ use OCP\EventDispatcher\Event;
use OCP\EventDispatcher\IEventListener;
use OCP\ILogger;
use OCP\ISession;
use OCP\IUserSession;
use OCP\User\Events\PasswordUpdatedEvent;

class PasswordUpdatedListener implements IEventListener {
@@ -19,11 +20,13 @@ class PasswordUpdatedListener implements IEventListener {

	private ILogger $logger;
	private ISession $session;
	private IUserSession $userSession;

	public function __construct(SSOService $ssoService, ILogger $logger, ISession $session) {
	public function __construct(SSOService $ssoService, ILogger $logger, ISession $session, IUserSession $userSession) {
		$this->ssoService = $ssoService;
		$this->logger = $logger;
		$this->session = $session;
		$this->userSession = $userSession;
	}

	public function handle(Event $event): void {
@@ -31,14 +34,14 @@ class PasswordUpdatedListener implements IEventListener {
			return;
		}

		if (!$this->userSession->isLoggedIn() || !$this->session->exists('is_oidc')) {
			return;
		}

		$user = $event->getUser();
		$username = $user->getUID();

		try {
			if (!$this->session->exists('is_oidc')) {
				return;
			}

			$this->ssoService->logout($username);
		} catch (Exception $e) {
			$this->logger->logException($e, ['app' => Application::APP_ID]);