Merge pull request #4892 from nextcloud/fix/encryption-remembered-login-hook

Fix encryption + remembered login due to missing login hook
This commit is contained in:
Lukas Reschke 2017-05-17 22:21:09 +02:00 committed by GitHub
commit fb45767524
2 changed files with 11 additions and 1 deletions

View File

@ -361,6 +361,10 @@ class Server extends ServerContainer implements IServerContainer {
/** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'post_login', array('run' => true, 'uid' => $user->getUID(), 'password' => $password));
});
$userSession->listen('\OC\User', 'postRememberedLogin', function ($user, $password) {
/** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'post_login', array('run' => true, 'uid' => $user->getUID(), 'password' => $password));
});
$userSession->listen('\OC\User', 'logout', function () {
\OC_Hook::emit('OC_User', 'logout', array());
});

View File

@ -792,7 +792,13 @@ class Session implements IUserSession, Emitter {
$this->setToken($token->getId());
$this->lockdownManager->setToken($token);
$user->updateLastLoginTimestamp();
$this->manager->emit('\OC\User', 'postRememberedLogin', [$user]);
$password = null;
try {
$password = $this->tokenProvider->getPassword($token, $sessionId);
} catch (PasswordlessTokenException $ex) {
// Ignore
}
$this->manager->emit('\OC\User', 'postRememberedLogin', [$user, $password]);
return true;
}