Skip to content

Commit 661c312

Browse files
committed
Add support for multiple keys as proposed in #544
1 parent f091fd2 commit 661c312

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/Tqdev/PhpCrudApi/Middleware/JwtAuthMiddleware.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
use Psr\Http\Message\ResponseInterface;
66
use Psr\Http\Message\ServerRequestInterface;
77
use Psr\Http\Server\RequestHandlerInterface;
8-
use Tqdev\PhpCrudApi\Controller\Responder;
98
use Tqdev\PhpCrudApi\Middleware\Base\Middleware;
109
use Tqdev\PhpCrudApi\Record\ErrorCode;
1110
use Tqdev\PhpCrudApi\RequestUtils;
@@ -31,7 +30,7 @@ private function getVerifiedClaims(string $token, int $time, int $leeway, int $t
3130
if (isset($header['kid'])) {
3231
$kid = $header['kid'];
3332
}
34-
if (!$secrets[$kid]) {
33+
if (!isset($secrets[$kid])) {
3534
return array();
3635
}
3736
$secret = $secrets[$kid];
@@ -99,14 +98,14 @@ private function getClaims(string $token): array
9998
$leeway = (int) $this->getProperty('leeway', '5');
10099
$ttl = (int) $this->getProperty('ttl', '30');
101100
$secrets = $this->getMapProperty('secrets', '');
101+
if (!$secrets) {
102+
$secrets = [$this->getProperty('secret', '')];
103+
}
102104
$requirements = array(
103105
'alg' => $this->getArrayProperty('algorithms', ''),
104106
'aud' => $this->getArrayProperty('audiences', ''),
105107
'iss' => $this->getArrayProperty('issuers', ''),
106108
);
107-
if (!$secrets) {
108-
return array();
109-
}
110109
return $this->getVerifiedClaims($token, $time, $leeway, $ttl, $secrets, $requirements);
111110
}
112111

0 commit comments

Comments
 (0)