Skip to content

Commit 069afe5

Browse files
committed
security update
1 parent 18e4944 commit 069afe5

File tree

6 files changed

+39
-30
lines changed

6 files changed

+39
-30
lines changed

src/Builders/BasicAuthBuilder.php

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,33 @@
88
use Chr15k\AuthGenerator\Contracts\Generator;
99
use Chr15k\AuthGenerator\DataTransfer\BasicAuthData;
1010
use Chr15k\AuthGenerator\Generators\BasicAuth as BasicAuthGenerator;
11+
use SensitiveParameter;
1112

12-
final readonly class BasicAuthBuilder implements Builder
13+
final class BasicAuthBuilder implements Builder
1314
{
14-
private BasicAuthData $data;
15-
16-
public function __construct()
17-
{
18-
$this->data = new BasicAuthData;
15+
public function __construct(
16+
private string $username = '',
17+
private string $password = ''
18+
) {
19+
//
1920
}
2021

2122
/**
2223
* Set the username for Basic Auth.
2324
*/
2425
public function username(string $username): self
2526
{
26-
$this->data->username = $username;
27+
$this->username = $username;
2728

2829
return $this;
2930
}
3031

3132
/**
3233
* Set the password for Basic Auth.
3334
*/
34-
public function password(string $password): self
35+
public function password(#[SensitiveParameter] string $password): self
3536
{
36-
$this->data->password = $password;
37+
$this->password = $password;
3738

3839
return $this;
3940
}
@@ -43,7 +44,12 @@ public function password(string $password): self
4344
*/
4445
public function build(): Generator
4546
{
46-
return new BasicAuthGenerator($this->data);
47+
$data = new BasicAuthData(
48+
username: $this->username,
49+
password: $this->password
50+
);
51+
52+
return new BasicAuthGenerator($data);
4753
}
4854

4955
/**

src/Builders/BearerTokenBuilder.php

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,31 +9,25 @@
99
use Chr15k\AuthGenerator\DataTransfer\BearerTokenData;
1010
use Chr15k\AuthGenerator\Generators\BearerToken as BearerTokenGenerator;
1111

12-
final readonly class BearerTokenBuilder implements Builder
12+
final class BearerTokenBuilder implements Builder
1313
{
14-
private BearerTokenData $data;
15-
16-
public function __construct()
17-
{
18-
$this->data = new BearerTokenData;
14+
public function __construct(
15+
private int $length = 32,
16+
private string $prefix = 'brr_'
17+
) {
18+
//
1919
}
2020

21-
/**
22-
* Set the token length.
23-
*/
2421
public function length(int $length): self
2522
{
26-
$this->data->length = $length;
23+
$this->length = $length;
2724

2825
return $this;
2926
}
3027

31-
/**
32-
* Set the token prefix.
33-
*/
3428
public function prefix(string $prefix): self
3529
{
36-
$this->data->prefix = $prefix;
30+
$this->prefix = $prefix;
3731

3832
return $this;
3933
}
@@ -43,7 +37,12 @@ public function prefix(string $prefix): self
4337
*/
4438
public function build(): Generator
4539
{
46-
return new BearerTokenGenerator($this->data);
40+
$data = new BearerTokenData(
41+
length: $this->length,
42+
prefix: $this->prefix
43+
);
44+
45+
return new BearerTokenGenerator($data);
4746
}
4847

4948
/**

src/Builders/JWTBuilder.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
use Chr15k\AuthGenerator\DataTransfer\JWTData;
1010
use Chr15k\AuthGenerator\Enums\Algorithm;
1111
use Chr15k\AuthGenerator\Generators\JWT as JWTGenerator;
12+
use SensitiveParameter;
1213

1314
final class JWTBuilder implements Builder
1415
{
@@ -44,7 +45,7 @@ final class JWTBuilder implements Builder
4445
/**
4546
* Set the signing key for the JWT.
4647
*/
47-
public function key(string $key, bool $isBase64Encoded = false): self
48+
public function key(#[SensitiveParameter] string $key, bool $isBase64Encoded = false): self
4849
{
4950
$this->key = $key;
5051
$this->keyBase64Encoded = $isBase64Encoded;

src/DataTransfer/BasicAuthData.php

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,16 @@
44

55
namespace Chr15k\AuthGenerator\DataTransfer;
66

7+
use SensitiveParameter;
8+
79
/**
810
* @internal
911
*/
10-
final class BasicAuthData
12+
final readonly class BasicAuthData
1113
{
1214
public function __construct(
1315
public string $username = '',
14-
public string $password = ''
16+
#[SensitiveParameter] public string $password = ''
1517
) {
1618
//
1719
}

src/DataTransfer/BearerTokenData.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
/**
88
* @internal
99
*/
10-
final class BearerTokenData
10+
final readonly class BearerTokenData
1111
{
1212
public function __construct(
1313
public int $length = 32,

src/DataTransfer/JWTData.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
namespace Chr15k\AuthGenerator\DataTransfer;
66

77
use Chr15k\AuthGenerator\Enums\Algorithm;
8+
use SensitiveParameter;
89

910
/**
1011
* @internal
@@ -16,7 +17,7 @@
1617
* @param array<string, string> $headers
1718
*/
1819
public function __construct(
19-
public string $key = '',
20+
#[SensitiveParameter] public string $key = '',
2021
public array $payload = [],
2122
public array $headers = [],
2223
public Algorithm $algorithm = Algorithm::HS256,

0 commit comments

Comments
 (0)