/**
  * Destroy the given global session
  *
  * @param \Flowpack\SingleSignOn\Client\Domain\Model\SsoClient $ssoClient
  * @param $sessionId
  * @return void
  */
 public function destroySession(SsoClient $ssoClient, $sessionId)
 {
     $serviceUri = new Uri($this->serviceBaseUri . '/session/' . urlencode($sessionId) . '/destroy');
     $serviceUri->setQuery(http_build_query(array('clientIdentifier' => $ssoClient->getServiceBaseUri())));
     $request = \TYPO3\Flow\Http\Request::create($serviceUri, 'DELETE');
     $request->setContent('');
     $signedRequest = $this->requestSigner->signRequest($request, $ssoClient->getPublicKeyFingerprint(), $ssoClient->getPublicKeyFingerprint());
     // TODO Send request asynchronously
     $response = $this->requestEngine->sendRequest($signedRequest);
     if ($response->getStatusCode() !== 200 && $response->getStatusCode() !== 404) {
         throw new Exception('Unexpected status code for destroy session when calling "' . (string) $serviceUri . '": "' . $response->getStatus() . '"', 1354132939);
     }
 }