From bbf5b184facdd89643fea0c863b800bd12acf050 Mon Sep 17 00:00:00 2001 From: Akhil Date: Mon, 29 Apr 2024 19:07:06 +0530 Subject: [PATCH] Remove autologin webmail from template listener --- .../BeforeTemplateRenderedListener.php | 54 +------------------ 1 file changed, 1 insertion(+), 53 deletions(-) diff --git a/lib/Listeners/BeforeTemplateRenderedListener.php b/lib/Listeners/BeforeTemplateRenderedListener.php index adece9c3..84fc51eb 100644 --- a/lib/Listeners/BeforeTemplateRenderedListener.php +++ b/lib/Listeners/BeforeTemplateRenderedListener.php @@ -4,36 +4,20 @@ declare(strict_types=1); namespace OCA\EcloudAccounts\Listeners; -use OCP\App\IAppManager; use OCP\AppFramework\Http\Events\BeforeTemplateRenderedEvent; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; -use OCP\IConfig; use OCP\IRequest; -use OCP\ISession; -use OCP\IUserSession; use OCP\Util; class BeforeTemplateRenderedListener implements IEventListener { - private $userSession; private $request; private $appName; - private $session; - private $config; - private $appManager; private Util $util; - private const SNAPPYMAIL_APP_ID = 'snappymail'; - private const SNAPPYMAIL_URL = '/apps/snappymail/'; - private const SNAPPYMAIL_AUTOLOGIN_PWD = '1'; - - public function __construct($appName, IUserSession $userSession, IRequest $request, ISession $session, IConfig $config, IAppManager $appManager, Util $util) { + public function __construct($appName, IRequest $request, Util $util) { $this->appName = $appName; - $this->userSession = $userSession; $this->request = $request; - $this->session = $session; - $this->config = $config; - $this->appManager = $appManager; $this->util = $util; } @@ -41,46 +25,10 @@ class BeforeTemplateRenderedListener implements IEventListener { if (!($event instanceof BeforeTemplateRenderedEvent)) { return; } - if ($this->userSession->isLoggedIn() && $this->appManager->isEnabledForUser(self::SNAPPYMAIL_APP_ID) && strpos($this->request->getPathInfo(), self::SNAPPYMAIL_URL) !== false) { - $this->autoLoginWebmail(); - } $pathInfo = $this->request->getPathInfo(); if (strpos($pathInfo, '/apps/ecloud-accounts/accounts') !== false) { $this->util->addStyle($this->appName, $this->appName . '-userregistration'); } - - } - - - private function autoLoginWebmail() { - $isOidcLogin = $this->session->get('is_oidc'); - if (!$isOidcLogin) { - return; - } - $accountId = $this->getAccountId(); - $actions = \RainLoop\Api::Actions(); - - if (empty($accountId) || $actions->getMainAccountFromToken(false)) { - return; - } - - // Just send over '1' as password to trigger login as the plugin will set the correct access token - $password = self::SNAPPYMAIL_AUTOLOGIN_PWD; // As we cannot pass by reference to LoginProcess - $account = $actions->LoginProcess($accountId, $password, false); - if ($account) { - $actions->Plugins()->RunHook('login.success', array($account)); - $actions->SetAuthToken($account); - } - } - - private function getAccountId(): string { - $username = $this->userSession->getUser()->getUID(); - if ($this->config->getAppValue('snappymail', 'snappymail-autologin', false)) { - return $username; - } - if ($this->config->getAppValue('snappymail', 'snappymail-autologin-with-email', false)) { - return $this->config->getUserValue($username, 'settings', 'email', ''); - } } } -- GitLab