summaryrefslogtreecommitdiffstats
path: root/core/Controller
diff options
context:
space:
mode:
authorLukas Reschke <lukas@statuscode.ch>2016-11-17 17:35:14 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2016-11-21 11:30:00 +0100
commit6f4cb12be2d026c45237359e2b0eea2266b86bdf (patch)
treea8832d88f2f4a7c47ed3411bb90023c0168e28c0 /core/Controller
parent53c8391e9691ac9eb92adf5b80436f5065944a1f (diff)
downloadnextcloud-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.php32
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);
+ }
}