Browse Source

fix(session): Log when crypto session data is lost

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
pull/40879/head
Christoph Wurst 2 years ago
parent
commit
ca33d6b01c
No known key found for this signature in database GPG Key ID: CC42AC2A7F0E56D8
  1. 8
      lib/private/Session/CryptoSessionData.php

8
lib/private/Session/CryptoSessionData.php

@ -32,6 +32,7 @@ namespace OC\Session;
use OCP\ISession;
use OCP\Security\ICrypto;
use OCP\Session\Exceptions\SessionNotAvailableException;
use function OCP\Log\logger;
/**
* Class CryptoSessionData
@ -82,9 +83,14 @@ class CryptoSessionData implements \ArrayAccess, ISession {
try {
$this->sessionValues = json_decode(
$this->crypto->decrypt($encryptedSessionData, $this->passphrase),
true
true,
512,
JSON_THROW_ON_ERROR,
);
} catch (\Exception $e) {
logger('core')->critical('Could not decrypt or decode encrypted session data', [
'exception' => $e,
]);
$this->sessionValues = [];
$this->regenerateId(true, false);
}

Loading…
Cancel
Save