Skip to content

Commit 28590d6

Browse files
committed
Fix exception when iss is missing
1 parent 7f27bab commit 28590d6

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/OpenIDConnectClient.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ public function verifyLogoutTokenClaims($claims): bool
527527
}
528528

529529
// Validate the iss
530-
if (!$this->validateIssuer($claims->iss)) {
530+
if (!isset($claims->iss) || !$this->validateIssuer($claims->iss)) {
531531
return false;
532532
}
533533
// Validate the aud
@@ -1208,7 +1208,7 @@ protected function verifyJWTClaims($claims, ?string $accessToken = null): bool
12081208
}
12091209
$auds = $claims->aud;
12101210
$auds = is_array( $auds ) ? $auds : [ $auds ];
1211-
return (($this->validateIssuer($claims->iss))
1211+
return ((isset($claims->iss) && $this->validateIssuer($claims->iss))
12121212
&& (in_array($this->clientID, $auds, true))
12131213
&& ($claims->sub === $this->getIdTokenPayload()->sub)
12141214
&& (!isset($claims->nonce) || $claims->nonce === $this->getNonce())

tests/OpenIDConnectClientTest.php

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,13 @@ public function getIdTokenPayload()
6363
'iss' => 'issuer',
6464
]);
6565
self::assertFalse($valid);
66+
67+
# missing iss
68+
$valid = $client->testVerifyJWTClaims((object)[
69+
'aud' => 'client-id',
70+
'sub' => 'sub',
71+
]);
72+
self::assertFalse($valid);
6673
}
6774
public function testJWTDecode()
6875
{
@@ -336,6 +343,18 @@ public function provideTestVerifyLogoutTokenClaimsData(): array
336343
],
337344
false
338345
],
346+
'invalid-no-iss' => [
347+
(object)[
348+
'aud' => [ 'fake-client-id', 'some-other-aud' ],
349+
'sub' => 'fake-client-sub',
350+
'sid' => 'fake-client-sid',
351+
'iat' => time(),
352+
'events' => (object) [
353+
'http://schemas.openid.net/event/backchannel-logout' => (object)[]
354+
],
355+
],
356+
false
357+
],
339358
];
340359
}
341360
}

0 commit comments

Comments
 (0)