From e1d95f8632a8424d893e1c942ea6b9f1b35e9f22 Mon Sep 17 00:00:00 2001 From: the-djmaze <> Date: Mon, 5 Feb 2024 21:40:30 +0100 Subject: [PATCH] Changes for #1420 to detect OIDC --- plugins/nextcloud/index.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/plugins/nextcloud/index.php b/plugins/nextcloud/index.php index 96a9e27e5..7389291ce 100644 --- a/plugins/nextcloud/index.php +++ b/plugins/nextcloud/index.php @@ -13,6 +13,7 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin public function Init() : void { if (static::IsIntegrated()) { + \SnappyMail\Log::debug('Nextcloud', 'integrated'); $this->UseLangs(true); $this->addHook('main.fabrica', 'MainFabrica'); @@ -39,6 +40,7 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin $this->addHook('smtp.before-login', 'oidcLogin'); $this->addHook('sieve.before-login', 'oidcLogin'); } else { + \SnappyMail\Log::debug('Nextcloud', 'NOT integrated'); // \OC::$server->getConfig()->getAppValue('snappymail', 'snappymail-no-embed'); $this->addHook('main.content-security-policy', 'ContentSecurityPolicy'); } @@ -215,6 +217,15 @@ class NextcloudPlugin extends \RainLoop\Plugins\AbstractPlugin if ($sCustomEmail) { $sEmail = $sCustomEmail; } + + if (!$sEmail && $this->Config()->Get('plugin', 'oidc', false)) { + if (\OC::$server->getSession()->get('is_oidc')) { + $sEmail = "{$sUID}@nextcloud"; + $aResult['DevPassword'] = \OC::$server->getSession()->get('oidc_access_token'); + } else { + \SnappyMail\Log::debug('Nextcloud', 'Not an OIDC login'); + } + } $aResult['DevEmail'] = $sEmail ?: ''; } else if (!empty($aResult['ContactsSync'])) { $bSave = false;