From a02b00445ef4dfd279ee760fdcb175de1bb48024 Mon Sep 17 00:00:00 2001
From: Lukas Reschke <lukas@owncloud.com>
Date: Wed, 17 Dec 2014 20:22:51 +0100
Subject: [PATCH] Store result of authentication

---
 lib/private/api.php | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/lib/private/api.php b/lib/private/api.php
index 66b763fdc3..35a09c5cd1 100644
--- a/lib/private/api.php
+++ b/lib/private/api.php
@@ -47,6 +47,7 @@ class OC_API {
 	 */
 	protected static $actions = array();
 	private static $logoutRequired = false;
+	private static $isLoggedIn = false;
 
 	/**
 	 * registers an api call
@@ -269,7 +270,10 @@ class OC_API {
 	 * http basic auth
 	 * @return string|false (username, or false on failure)
 	 */
-	private static function loginUser(){
+	private static function loginUser() {
+		if(self::$isLoggedIn === true) {
+			return \OC_User::getUser();
+		}
 
 		// reuse existing login
 		$loggedIn = OC_User::isLoggedIn();
@@ -279,6 +283,7 @@ class OC_API {
 
 				// initialize the user's filesystem
 				\OC_Util::setUpFS(\OC_User::getUser());
+				self::$isLoggedIn = true;
 
 				return OC_User::getUser();
 			}
@@ -296,6 +301,7 @@ class OC_API {
 
 				// initialize the user's filesystem
 				\OC_Util::setUpFS(\OC_User::getUser());
+				self::$isLoggedIn = true;
 
 				return $authUser;
 			}
-- 
GitLab