Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/server.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2017-05-17 23:21:09 +0300
committerGitHub <noreply@github.com>2017-05-17 23:21:09 +0300
commitfb4576752440e90f6e54588b707184290d74f1c0 (patch)
tree664ac2f76b8a83ba2c94e01b693ebdc50699b734
parentaa9b465af790989c696d1e93c3dcbeb59660527d (diff)
parent0a43c259c46bb820d46b8732f431622ecf4f25b3 (diff)
Merge pull request #4892 from nextcloud/fix/encryption-remembered-login-hook
Fix encryption + remembered login due to missing login hook
-rw-r--r--lib/private/Server.php4
-rw-r--r--lib/private/User/Session.php8
2 files changed, 11 insertions, 1 deletions
diff --git a/lib/private/Server.php b/lib/private/Server.php
index ac69122d0b2..75e9d911632 100644
--- a/lib/private/Server.php
+++ b/lib/private/Server.php
@@ -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());
});
diff --git a/lib/private/User/Session.php b/lib/private/User/Session.php
index ac0150ff611..f818666c374 100644
--- a/lib/private/User/Session.php
+++ b/lib/private/User/Session.php
@@ -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;
}