diff options
author | Lukas Reschke <lukas@statuscode.ch> | 2016-11-17 17:35:14 +0100 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2016-11-21 11:30:00 +0100 |
commit | 6f4cb12be2d026c45237359e2b0eea2266b86bdf (patch) | |
tree | a8832d88f2f4a7c47ed3411bb90023c0168e28c0 /core/Controller | |
parent | 53c8391e9691ac9eb92adf5b80436f5065944a1f (diff) | |
download | nextcloud-server-6f4cb12be2d026c45237359e2b0eea2266b86bdf.tar.gz nextcloud-server-6f4cb12be2d026c45237359e2b0eea2266b86bdf.zip |
Add identity proof
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
Diffstat (limited to 'core/Controller')
-rw-r--r-- | core/Controller/OCSController.php | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/core/Controller/OCSController.php b/core/Controller/OCSController.php index 27ab9deb08a..b1c4f377a14 100644 --- a/core/Controller/OCSController.php +++ b/core/Controller/OCSController.php @@ -23,6 +23,7 @@ namespace OC\Core\Controller; use OC\CapabilitiesManager; use OC\Security\Bruteforce\Throttler; +use OC\Security\IdentityProof\Manager; use OCP\AppFramework\Http\DataResponse; use OCP\IRequest; use OCP\IUserManager; @@ -32,13 +33,12 @@ class OCSController extends \OCP\AppFramework\OCSController { /** @var CapabilitiesManager */ private $capabilitiesManager; - /** @var IUserSession */ private $userSession; - /** @var IUserManager */ private $userManager; - + /** @var Manager */ + private $keyManager; /** @var Throttler */ private $throttler; @@ -51,19 +51,21 @@ class OCSController extends \OCP\AppFramework\OCSController { * @param IUserSession $userSession * @param IUserManager $userManager * @param Throttler $throttler + * @param Manager $keyManager */ public function __construct($appName, IRequest $request, CapabilitiesManager $capabilitiesManager, IUserSession $userSession, IUserManager $userManager, - Throttler $throttler) { + Throttler $throttler, + Manager $keyManager) { parent::__construct($appName, $request); - $this->capabilitiesManager = $capabilitiesManager; $this->userSession = $userSession; $this->userManager = $userManager; $this->throttler = $throttler; + $this->keyManager = $keyManager; } /** @@ -139,4 +141,24 @@ class OCSController extends \OCP\AppFramework\OCSController { } return new DataResponse(null, 101); } + + /** + * @PublicPage + * + * @param string $cloudId + * @return DataResponse + */ + public function getIdentityProof($cloudId) { + $userObject = $this->userManager->get($cloudId); + + if($cloudId !== null) { + $key = $this->keyManager->getKey($userObject); + $data = [ + 'public' => $key->getPublic(), + ]; + return new DataResponse($data); + } + + return new DataResponse(101); + } } |