diff --git a/core/Controller/OCSController.php b/core/Controller/OCSController.php index 750ab37eb8..d5783ae32e 100644 --- a/core/Controller/OCSController.php +++ b/core/Controller/OCSController.php @@ -24,25 +24,32 @@ namespace OC\Core\Controller; use OC\CapabilitiesManager; use OCP\AppFramework\Http\DataResponse; use OCP\IRequest; +use OCP\IUserSession; class OCSController extends \OCP\AppFramework\OCSController { /** @var CapabilitiesManager */ private $capabilitiesManager; + /** @var IUserSession */ + private $userSession; + /** * OCSController constructor. * * @param string $appName * @param IRequest $request * @param CapabilitiesManager $capabilitiesManager + * @param IUserSession $userSession */ public function __construct($appName, IRequest $request, - CapabilitiesManager $capabilitiesManager) { + CapabilitiesManager $capabilitiesManager, + IUserSession $userSession) { parent::__construct($appName, $request); $this->capabilitiesManager = $capabilitiesManager; + $this->userSession = $userSession; } /** @@ -64,4 +71,18 @@ class OCSController extends \OCP\AppFramework\OCSController { return new DataResponse(['data' => $result]); } + + /** + * @NoAdminRequired + * @return DataResponse + */ + public function getCurrentUser() { + $userObject = $this->userSession->getUser(); + $data = [ + 'id' => $userObject->getUID(), + 'display-name' => $userObject->getDisplayName(), + 'email' => $userObject->getEMailAddress(), + ]; + return new DataResponse(['data' => $data]); + } } diff --git a/core/routes.php b/core/routes.php index 92ce4440ec..b4868c14cf 100644 --- a/core/routes.php +++ b/core/routes.php @@ -55,6 +55,7 @@ $application->registerRoutes($this, [ ], 'ocs' => [ ['root' => '/cloud', 'name' => 'OCS#getCapabilities', 'url' => '/capabilities', 'verb' => 'GET'], + ['root' => '/cloud', 'name' => 'OCS#getCurrentUser', 'url' => '/user', 'verb' => 'GET'], ], ]); diff --git a/ocs/routes.php b/ocs/routes.php index bb24c79eba..ae2ef05adc 100644 --- a/ocs/routes.php +++ b/ocs/routes.php @@ -83,14 +83,6 @@ API::register( 'core', API::USER_AUTH ); -// cloud -API::register( - 'get', - '/cloud/user', - array('OC_OCS_Cloud', 'getCurrentUser'), - 'core', - API::USER_AUTH -); // Server-to-Server Sharing if (\OC::$server->getAppManager()->isEnabledForUser('files_sharing')) {