mirror of
https://github.com/the-djmaze/snappymail.git
synced 2025-09-07 21:54:35 +08:00
This commit is contained in:
parent
0ef8af21b1
commit
fe4f182606
1 changed files with 11 additions and 5 deletions
|
@ -101,22 +101,28 @@ class SnappyMailHelper
|
|||
}
|
||||
}
|
||||
} else {
|
||||
$aCredentials = static::getLoginCredentials();
|
||||
$ocSession = \OC::$server->getSession();
|
||||
$doLogin = !$oActions->getMainAccountFromToken(false);
|
||||
if (!$doLogin && $ocSession['snappymail-uid'] && $ocSession['snappymail-uid'] != $aCredentials[0]) {
|
||||
$aCredentials = static::getLoginCredentials();
|
||||
// https://github.com/the-djmaze/snappymail/issues/561#issuecomment-1301317723
|
||||
// $ocSession['snappymail-uid'] Always NULL, so we use a cookie
|
||||
// $ocSession = \OC::$server->getSession();
|
||||
// if (!$doLogin && $ocSession['snappymail-uid'] && $ocSession['snappymail-uid'] != $aCredentials[0]) {
|
||||
if (!$doLogin && !empty($_COOKIE['snappymail-uid']) && $_COOKIE['snappymail-uid'] != $aCredentials[0]) {
|
||||
// UID changed, Impersonate plugin probably active
|
||||
$ocSession['snappymail-uid'] = false;
|
||||
\setcookie('snappymail-uid');
|
||||
$oActions->Logout(true);
|
||||
$doLogin = true;
|
||||
// $this->logger->warning("Logout {$_COOKIE['snappymail-uid']}", ['app' => 'SnappyMail']);
|
||||
}
|
||||
// $ocSession['snappymail-uid'] = $aCredentials[0];
|
||||
\setcookie('snappymail-uid', $aCredentials[0]);
|
||||
if ($doLogin && $aCredentials[1] && $aCredentials[2]) {
|
||||
$oActions->Logger()->AddSecret($aCredentials[2]);
|
||||
$oAccount = $oActions->LoginProcess($aCredentials[1], $aCredentials[2], false);
|
||||
if ($oAccount) {
|
||||
$ocSession['snappymail-uid'] = $aCredentials[0];
|
||||
$oActions->Plugins()->RunHook('login.success', array($oAccount));
|
||||
$oActions->SetAuthToken($oAccount);
|
||||
// $this->logger->warning("Login {$aCredentials[0]}", ['app' => 'SnappyMail']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue