Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Aug 7, 2023. It is now read-only.

Commit d683fd1

Browse files
Improve code base
1 parent 743309c commit d683fd1

File tree

5 files changed

+22
-19
lines changed

5 files changed

+22
-19
lines changed

‎src/AbstractExtractor.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,10 @@
1414

1515
abstract class AbstractExtractor implements ExtractorInterface
1616
{
17+
public const IN_HEADER = 'header';
18+
19+
public const IN_QUERY_PARAM = 'query_param';
20+
1721
private string $in;
1822

1923
private string $item;
@@ -29,8 +33,8 @@ public function __construct(
2933
throw new \LogicException('Issuer can not be blank!');
3034
}
3135

32-
if (ExtractorInterface::IN_HEADER !== $in && ExtractorInterface::IN_QUERY_PARAM !== $in) {
33-
throw new \LogicException(sprintf('Origin token must in: `%s` or `%s`, can not in: `%s`', ExtractorInterface::IN_HEADER, ExtractorInterface::IN_QUERY_PARAM, $in));
36+
if (self::IN_HEADER !== $in && self::IN_QUERY_PARAM !== $in) {
37+
throw new \LogicException(sprintf('Origin token must in: `%s` or `%s`, can not in: `%s`', self::IN_HEADER, self::IN_QUERY_PARAM, $in));
3438
}
3539

3640
$this->issuer = $issuer;
@@ -41,8 +45,8 @@ public function __construct(
4145
final public function extract(ServerRequestInterface $request): ?array
4246
{
4347
$value = match ($this->in) {
44-
ExtractorInterface::IN_HEADER => $request->getHeader($this->item)[0] ?? null,
45-
ExtractorInterface::IN_QUERY_PARAM => $request->getQueryParams()[$this->item] ?? null
48+
self::IN_HEADER => $request->getHeader($this->item)[0] ?? null,
49+
self::IN_QUERY_PARAM => $request->getQueryParams()[$this->item] ?? null
4650
};
4751

4852
if (false === is_string($value)) {

‎src/Base64HeaderExtractor.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ final class Base64HeaderExtractor extends AbstractExtractor
1414
{
1515
public function __construct(string $issuer, string $item)
1616
{
17-
parent::__construct($issuer, ExtractorInterface::IN_HEADER, $item);
17+
parent::__construct($issuer, self::IN_HEADER, $item);
1818
}
1919

2020
protected function extractFromValue(string $value): ?array

‎src/ExtractorFactory.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,22 +12,22 @@
1212

1313
class ExtractorFactory
1414
{
15-
public static function fromBase64Header(string $issuer, string $header): Base64HeaderExtractor
15+
public static function fromBase64Header(string $issuer, string $header): ExtractorInterface
1616
{
1717
return new Base64HeaderExtractor($issuer, $header);
1818
}
1919

20-
public static function fromOriginTokenHeader(string $issuer, string $header): OriginTokenExtractor
20+
public static function fromOriginTokenHeader(string $issuer, string $header): ExtractorInterface
2121
{
22-
return new OriginTokenExtractor($issuer, ExtractorInterface::IN_HEADER, $header);
22+
return new OriginTokenExtractor($issuer, AbstractExtractor::IN_HEADER, $header);
2323
}
2424

25-
public static function fromOriginTokenQueryParam(string $issuer, string $queryParam): OriginTokenExtractor
25+
public static function fromOriginTokenQueryParam(string $issuer, string $queryParam): ExtractorInterface
2626
{
27-
return new OriginTokenExtractor($issuer, ExtractorInterface::IN_QUERY_PARAM, $queryParam);
27+
return new OriginTokenExtractor($issuer, AbstractExtractor::IN_QUERY_PARAM, $queryParam);
2828
}
2929

30-
public static function fromExtractors(ExtractorInterface ...$extractors): CompositeExtractor
30+
public static function fromExtractors(ExtractorInterface ...$extractors): ExtractorInterface
3131
{
3232
return new CompositeExtractor($extractors);
3333
}

‎src/ExtractorInterface.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,8 @@
1414

1515
interface ExtractorInterface
1616
{
17-
public const IN_HEADER = 'header';
18-
19-
public const IN_QUERY_PARAM = 'query_param';
20-
17+
/*
18+
* Extract JWT payload from server request.
19+
*/
2120
public function extract(ServerRequestInterface $request): ?array;
2221
}

‎tests/OriginTokenExtractorTest.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
namespace Istio\JWTPayloadExtractor\Tests;
1212

13-
use Istio\JWTPayloadExtractor\ExtractorInterface;
13+
use Istio\JWTPayloadExtractor\AbstractExtractor;
1414
use Istio\JWTPayloadExtractor\OriginTokenExtractor;
1515
use PHPUnit\Framework\TestCase;
1616
use Psr\Http\Message\ServerRequestInterface;
@@ -31,7 +31,7 @@ public function testInitWithInvalidIn(): void
3131
{
3232
$this->expectException(\LogicException::class);
3333
$this->expectExceptionMessageMatches(
34-
sprintf('~`%s` or `%s`~', ExtractorInterface::IN_HEADER, ExtractorInterface::IN_QUERY_PARAM)
34+
sprintf('~`%s` or `%s`~', AbstractExtractor::IN_HEADER, AbstractExtractor::IN_QUERY_PARAM)
3535
);
3636

3737
new OriginTokenExtractor('valid', 'invalid', 'authorization');
@@ -65,8 +65,8 @@ public function testExtractFromValidRequests(ServerRequestInterface $inHeader, S
6565

6666
private function extractRequests(ServerRequestInterface $inHeader, ServerRequestInterface $inQueryParam): array
6767
{
68-
$headerExtractor = new OriginTokenExtractor('valid', ExtractorInterface::IN_HEADER, 'authorization');
69-
$queryParamExtractor = new OriginTokenExtractor('valid', ExtractorInterface::IN_QUERY_PARAM, 'token');
68+
$headerExtractor = new OriginTokenExtractor('valid', AbstractExtractor::IN_HEADER, 'authorization');
69+
$queryParamExtractor = new OriginTokenExtractor('valid', AbstractExtractor::IN_QUERY_PARAM, 'token');
7070

7171
return [$headerExtractor->extract($inHeader), $queryParamExtractor->extract($inQueryParam)];
7272
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /