Skip to content

Commit 6f5746c

Browse files
committed
Add ability to dependency inject Base64UrlDecoder
1 parent 88fd0e2 commit 6f5746c

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/JWKConverter.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,14 @@
1919
class JWKConverter
2020
{
2121

22+
/** @var Base64UrlDecoder */
23+
private $base64UrlDecoder;
24+
25+
public function __construct(?Base64UrlDecoder $base64UrlDecoder = null)
26+
{
27+
$this->base64UrlDecoder = $base64UrlDecoder ?? new Base64UrlDecoder();
28+
}
29+
2230
/**
2331
* @param array $jwk
2432
* @return string
@@ -40,11 +48,10 @@ public function toPEM(array $jwk): string
4048
}
4149

4250
$rsa = new RSA();
43-
$base64UrlDecoder = new Base64UrlDecoder();
4451
$rsa->loadKey(
4552
[
4653
'e' => new BigInteger(base64_decode($jwk['e']), 256),
47-
'n' => new BigInteger($base64UrlDecoder->decode($jwk['n']), 256)
54+
'n' => new BigInteger($this->base64UrlDecoder->decode($jwk['n']), 256)
4855
]
4956
);
5057
return $rsa->getPublicKey();

0 commit comments

Comments
 (0)