Skip to content

Commit b47e83d

Browse files
committed
fix(test): fix test for JWT auth method
1 parent 6fe6462 commit b47e83d

File tree

4 files changed

+37
-20
lines changed

4 files changed

+37
-20
lines changed

src/AuthMethod/PrivateKeyJwt.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,12 @@
99
use function Facile\OpenIDClient\base64url_encode;
1010
use Facile\OpenIDClient\Client\ClientInterface as OpenIDClient;
1111
use Facile\OpenIDClient\Exception\RuntimeException;
12+
use function Facile\OpenIDClient\get_endpoint_uri;
1213
use Jose\Component\Core\JWK;
1314
use Jose\Component\Core\JWKSet;
1415
use Jose\Component\Signature\JWSBuilder;
1516
use Jose\Component\Signature\Serializer\CompactSerializer;
1617
use Jose\Component\Signature\Serializer\JWSSerializer;
17-
use function Facile\OpenIDClient\get_endpoint_uri;
1818
use function json_encode;
1919
use function random_bytes;
2020
use function time;

src/functions/get_endpoint_uri.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
/**
1313
* Handle endpoint URI based on auth method
14+
*
15+
* @internal
1416
*/
1517
function get_endpoint_uri(OpenIDClient $client, string $endpointMetadata): string
1618
{

tests/AuthMethod/ClientSecretJwtTest.php

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,11 @@
77
use Facile\OpenIDClient\AuthMethod\ClientSecretJwt;
88
use function Facile\OpenIDClient\base64url_encode;
99
use Facile\OpenIDClient\Client\ClientInterface;
10+
use Facile\OpenIDClient\Client\Metadata\ClientMetadata;
1011
use Facile\OpenIDClient\Client\Metadata\ClientMetadataInterface;
1112
use Facile\OpenIDClient\Exception\InvalidArgumentException;
1213
use Facile\OpenIDClient\Issuer\IssuerInterface;
13-
use Facile\OpenIDClient\Issuer\Metadata\IssuerMetadataInterface;
14+
use Facile\OpenIDClient\Issuer\Metadata\IssuerMetadata;
1415
use Facile\OpenIDClientTest\TestCase;
1516
use function http_build_query;
1617
use Jose\Component\Core\JWK;
@@ -41,19 +42,26 @@ public function testCreateRequest(): void
4142
$serializer->reveal()
4243
);
4344

45+
$issuerMetadata = IssuerMetadata::fromArray([
46+
'issuer' => 'https://issuer.com',
47+
'authorization_endpoint' => 'https://issuer.com/auth',
48+
'token_endpoint' => 'https://issuer.com/token',
49+
'jwks_uri' => 'https://issuer.com/jwks',
50+
]);
51+
52+
$clientMetadata = ClientMetadata::fromArray([
53+
'client_id' => 'foo',
54+
'client_secret' => 'bar',
55+
]);
56+
4457
$stream = $this->prophesize(StreamInterface::class);
4558
$request = $this->prophesize(RequestInterface::class);
4659
$client = $this->prophesize(ClientInterface::class);
47-
$metadata = $this->prophesize(ClientMetadataInterface::class);
4860
$issuer = $this->prophesize(IssuerInterface::class);
49-
$issuerMetadata = $this->prophesize(IssuerMetadataInterface::class);
5061

51-
$client->getMetadata()->willReturn($metadata->reveal());
62+
$client->getMetadata()->willReturn($clientMetadata);
5263
$client->getIssuer()->willReturn($issuer->reveal());
53-
$metadata->getClientId()->willReturn('foo');
54-
$metadata->getClientSecret()->willReturn('bar');
55-
$issuer->getMetadata()->willReturn($issuerMetadata->reveal());
56-
$issuerMetadata->getIssuer()->willReturn('issuer');
64+
$issuer->getMetadata()->willReturn($issuerMetadata);
5765

5866
$jwsBuilder2 = $this->prophesize(JWSBuilder::class);
5967
$jwsBuilder3 = $this->prophesize(JWSBuilder::class);
@@ -76,7 +84,7 @@ public function testCreateRequest(): void
7684
static::assertSame('bar', $decoded['foo'] ?? null);
7785
static::assertSame('foo', $decoded['iss'] ?? null);
7886
static::assertSame('foo', $decoded['sub'] ?? null);
79-
static::assertSame('issuer', $decoded['aud'] ?? null);
87+
static::assertSame('https://issuer.com/token', $decoded['aud'] ?? null);
8088
static::assertLessThanOrEqual(time(), $decoded['iat']);
8189
static::assertLessThanOrEqual(time() + 60, $decoded['exp']);
8290
static::assertGreaterThan(time(), $decoded['exp']);

tests/AuthMethod/PrivateKeyJwtTest.php

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77
use Facile\JoseVerifier\JWK\JwksProviderInterface;
88
use Facile\OpenIDClient\AuthMethod\PrivateKeyJwt;
99
use Facile\OpenIDClient\Client\ClientInterface;
10-
use Facile\OpenIDClient\Client\Metadata\ClientMetadataInterface;
10+
use Facile\OpenIDClient\Client\Metadata\ClientMetadata;
1111
use Facile\OpenIDClient\Issuer\IssuerInterface;
12-
use Facile\OpenIDClient\Issuer\Metadata\IssuerMetadataInterface;
12+
use Facile\OpenIDClient\Issuer\Metadata\IssuerMetadata;
1313
use Facile\OpenIDClientTest\TestCase;
1414
use function http_build_query;
1515
use Jose\Component\Core\JWK;
@@ -72,11 +72,21 @@ public function testCreateRequest(bool $jwkAsDependency = false): void
7272
$stream = $this->prophesize(StreamInterface::class);
7373
$request = $this->prophesize(RequestInterface::class);
7474
$client = $this->prophesize(ClientInterface::class);
75-
$metadata = $this->prophesize(ClientMetadataInterface::class);
7675
$issuer = $this->prophesize(IssuerInterface::class);
77-
$issuerMetadata = $this->prophesize(IssuerMetadataInterface::class);
7876
$client->getJwksProvider()->willReturn($jwksProvider->reveal());
7977

78+
$issuerMetadata = IssuerMetadata::fromArray([
79+
'issuer' => 'https://issuer.com',
80+
'authorization_endpoint' => 'https://issuer.com/auth',
81+
'token_endpoint' => 'https://issuer.com/token',
82+
'jwks_uri' => 'https://issuer.com/jwks',
83+
]);
84+
85+
$clientMetadata = ClientMetadata::fromArray([
86+
'client_id' => 'foo',
87+
'client_secret' => 'bar',
88+
]);
89+
8090
if (! $jwkAsDependency) {
8191
$jwksProvider->getJwks()->willReturn([
8292
'keys' => [
@@ -85,12 +95,9 @@ public function testCreateRequest(bool $jwkAsDependency = false): void
8595
]);
8696
}
8797

88-
$client->getMetadata()->willReturn($metadata->reveal());
98+
$client->getMetadata()->willReturn($clientMetadata);
8999
$client->getIssuer()->willReturn($issuer->reveal());
90-
$metadata->getClientId()->willReturn('foo');
91-
$metadata->getClientSecret()->willReturn('bar');
92-
$issuer->getMetadata()->willReturn($issuerMetadata->reveal());
93-
$issuerMetadata->getIssuer()->willReturn('issuer');
100+
$issuer->getMetadata()->willReturn($issuerMetadata);
94101

95102
$jwsBuilder2 = $this->prophesize(JWSBuilder::class);
96103
$jwsBuilder3 = $this->prophesize(JWSBuilder::class);
@@ -113,7 +120,7 @@ public function testCreateRequest(bool $jwkAsDependency = false): void
113120
static::assertSame('bar', $decoded['foo'] ?? null);
114121
static::assertSame('foo', $decoded['iss'] ?? null);
115122
static::assertSame('foo', $decoded['sub'] ?? null);
116-
static::assertSame('issuer', $decoded['aud'] ?? null);
123+
static::assertSame('https://issuer.com/token', $decoded['aud'] ?? null);
117124
static::assertLessThanOrEqual(time(), $decoded['iat']);
118125
static::assertLessThanOrEqual(time() + 60, $decoded['exp']);
119126
static::assertGreaterThan(time(), $decoded['exp']);

0 commit comments

Comments
 (0)