Skip to content

Commit 084c7d2

Browse files
committed
Refactor affected parser methods to not require pslam suppression statements
1 parent db9b823 commit 084c7d2

File tree

2 files changed

+8
-16
lines changed

2 files changed

+8
-16
lines changed

src/Claims/AggregateParser.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,26 +12,22 @@ final class AggregateParser extends AbstractClaims implements AggregatedParserIn
1212
{
1313
public function unpack(ClientInterface $client, array $claims): array
1414
{
15-
$claimSources = $claims['_claim_sources'] ?? null;
16-
$claimNames = $claims['_claim_names'] ?? null;
17-
18-
if (! is_array($claimSources)) {
15+
if (! array_key_exists('_claim_sources', $claims)) {
1916
return $claims;
2017
}
2118

22-
if (! is_array($claimNames)) {
19+
if (! array_key_exists('_claim_names', $claims)) {
2320
return $claims;
2421
}
2522

26-
$aggregatedSources = array_filter($claimSources, fn ($value): bool => $this->isAggregateSource($value));
23+
$aggregatedSources = array_filter($claims['_claim_sources'], fn ($value): bool => $this->isAggregateSource($value));
2724

2825
$claimPayloads = [];
2926
foreach ($aggregatedSources as $sourceName => $source) {
3027
$claimPayloads[$sourceName] = $this->claimJWT($client, $source['JWT']);
31-
/** @psalm-suppress PossiblyNullArrayAccess */
3228
unset($claims['_claim_sources'][$sourceName]);
3329
}
3430

35-
return $this->cleanClaims($this->assignClaims($claims, $claimNames, $claimPayloads));
31+
return $this->cleanClaims($this->assignClaims($claims, $claims['_claim_names'], $claimPayloads));
3632
}
3733
}

src/Claims/DistributedParser.php

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,18 +44,15 @@ public function __construct(
4444

4545
public function fetch(OpenIDClient $client, array $claims, array $accessTokens = []): array
4646
{
47-
$claimSources = $claims['_claim_sources'] ?? null;
48-
$claimNames = $claims['_claim_names'] ?? null;
49-
50-
if (! is_array($claimSources)) {
47+
if (! array_key_exists('_claim_sources', $claims)) {
5148
return $claims;
5249
}
5350

54-
if (! is_array($claimNames)) {
51+
if (! array_key_exists('_claim_names', $claims)) {
5552
return $claims;
5653
}
5754

58-
$distributedSources = array_filter($claimSources, fn ($value): bool => $this->isDistributedSource($value));
55+
$distributedSources = array_filter($claims['_claim_sources'], fn ($value): bool => $this->isDistributedSource($value));
5956

6057
/** @var array<string, ResponseInterface> $responses */
6158
$responses = [];
@@ -80,13 +77,12 @@ public function fetch(OpenIDClient $client, array $claims, array $accessTokens =
8077
try {
8178
check_server_response($response);
8279
$claimPayloads[$sourceName] = $this->claimJWT($client, (string) $response->getBody());
83-
/** @psalm-suppress PossiblyNullArrayAccess */
8480
unset($claims['_claim_sources'][$sourceName]);
8581
} catch (Throwable $e) {
8682
throw new RuntimeException("Unable to fetch distributed claim for \"{$sourceName}\"", 0, $e);
8783
}
8884
}
8985

90-
return $this->cleanClaims($this->assignClaims($claims, $claimNames, $claimPayloads));
86+
return $this->cleanClaims($this->assignClaims($claims, $claims['_claim_names'], $claimPayloads));
9187
}
9288
}

0 commit comments

Comments
 (0)