protected function initManageApi(Request $request) { if (!$request->headers->get("X-KBC-ManageApiToken")) { throw new UserException("Token not set."); } $client = new Client(["token" => $request->headers->get("X-KBC-ManageApiToken"), "url" => $this->container->getParameter("storage_api.url")]); $this->manageApiClient = $client; try { $this->tokenInfo = $client->verifyToken(); } catch (ClientException $e) { throw new UserException($e->getMessage()); } }
public function testVerifySuperToken() { $client = new Client(['token' => getenv('KBC_SUPER_API_TOKEN'), 'url' => getenv('KBC_MANAGE_API_URL'), 'backoffMaxTries' => 1]); $token = $client->verifyToken(); $this->assertInternalType('int', $token['id']); $this->assertNotEmpty($token['description']); $this->assertNotEmpty($token['created']); $this->assertFalse($token['isDisabled']); $this->assertFalse($token['isExpired']); $this->assertInternalType('array', $token['scopes']); $this->assertEquals($token['type'], 'super'); $this->assertFalse($token['isSessionToken']); }
/** * @param string $scope * @param Request $request * @return bool */ protected function checkScope($scope, Request $request) { if (!$request->headers->get("X-KBC-ManageApiToken")) { throw new UserException("Manage API Token not set."); } $client = new Client(["token" => $request->headers->get("X-KBC-ManageApiToken"), "url" => $this->container->getParameter('storage_api.url')]); try { $token = $client->verifyToken(); } catch (ClientException $e) { throw new UserException("Error validating Manage token: " . $e->getMessage()); } return is_array($token['scopes']) && in_array($scope, $token['scopes']); }