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']);
 }
Пример #3
0
 /**
  * @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']);
 }