public function touchSession(SsoClient $ssoClient, $sessionId) {
		$serviceUri = $this->serviceBaseUri . '/session/' . urlencode($sessionId) . '/touch';
		$request = \TYPO3\Flow\Http\Request::create(new Uri($serviceUri), 'POST');
		$request->setContent('');

		$signedRequest = $this->requestSigner->signRequest($request, $ssoClient->getPublicKeyFingerprint(), $ssoClient->getPublicKeyFingerprint());

		// TODO Handle timeout and other server errors (client should keep running!)
		$response = $this->requestEngine->sendRequest($signedRequest);
		if ($response->getStatusCode() === 404 && $response->getHeader('Content-Type') === 'application/json') {
			$data = json_decode($response->getContent(), TRUE);
			if (is_array($data) && isset($data['error']) && $data['error'] === 'SessionNotFound') {
				throw new \Flowpack\SingleSignOn\Client\Exception\SessionNotFoundException();
			}
		}
		if ($response->getStatusCode() !== 200) {
			throw new Exception('Unexpected status code for touch session when calling "' . (string)$serviceUri . '": "' . $response->getStatus() . '"', 1354030063);
		}
	}