diff options
author | Joas Schilling <coding@schilljs.com> | 2022-02-16 16:51:22 +0100 |
---|---|---|
committer | Joas Schilling <coding@schilljs.com> | 2022-02-16 16:51:22 +0100 |
commit | 397b9098e8be4d49473a07263a1bbd0a8836300f (patch) | |
tree | 950deda3aa71805691423b95b48e7686aaa62e12 /lib/private/Authentication | |
parent | 1bfd001cf6add6cb99d5231502c8c19e8dce910a (diff) | |
download | nextcloud-server-397b9098e8be4d49473a07263a1bbd0a8836300f.tar.gz nextcloud-server-397b9098e8be4d49473a07263a1bbd0a8836300f.zip |
Also cache non-existing to reuse it
Signed-off-by: Joas Schilling <coding@schilljs.com>
Diffstat (limited to 'lib/private/Authentication')
-rw-r--r-- | lib/private/Authentication/Token/PublicKeyTokenProvider.php | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/private/Authentication/Token/PublicKeyTokenProvider.php b/lib/private/Authentication/Token/PublicKeyTokenProvider.php index 04781457a7a..d2ee47cf380 100644 --- a/lib/private/Authentication/Token/PublicKeyTokenProvider.php +++ b/lib/private/Authentication/Token/PublicKeyTokenProvider.php @@ -97,12 +97,17 @@ class PublicKeyTokenProvider implements IProvider { $tokenHash = $this->hashToken($tokenId); if (isset($this->cache[$tokenHash])) { + if ($this->cache[$tokenHash] instanceof DoesNotExistException) { + $ex = $this->cache[$tokenHash]; + throw new InvalidTokenException("Token does not exist: " . $ex->getMessage(), 0, $ex); + } $token = $this->cache[$tokenHash]; } else { try { $token = $this->mapper->getToken($this->hashToken($tokenId)); $this->cache[$token->getToken()] = $token; } catch (DoesNotExistException $ex) { + $this->cache[$tokenHash] = $ex; throw new InvalidTokenException("Token does not exist: " . $ex->getMessage(), 0, $ex); } } |