Skip to content

Commit ef47f6a

Browse files
authored
[10.x] Fix: Prevent invalid AWS credentials options being created
Improves on 909ea24 which could create credentials arrays with only a token
1 parent f4cb362 commit ef47f6a

File tree

6 files changed

+22
-17
lines changed

6 files changed

+22
-17
lines changed

src/Illuminate/Bus/BusServiceProvider.php

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,10 @@ protected function registerBatchServices()
6969
];
7070

7171
if (! empty($config['key']) && ! empty($config['secret'])) {
72-
$dynamoConfig['credentials'] = Arr::only(
73-
$config,
74-
['key', 'secret', 'token']
75-
);
72+
$dynamoConfig['credentials'] = Arr::only($config, ['key', 'secret']);
73+
if (! empty($config['token'])) {
74+
$dynamoConfig['credentials']['token'] = $config['token'];
75+
}
7676
}
7777

7878
return new DynamoBatchRepository(

src/Illuminate/Cache/CacheManager.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -262,10 +262,9 @@ protected function newDynamodbClient(array $config)
262262
$dynamoConfig['credentials'] = Arr::only(
263263
$config, ['key', 'secret']
264264
);
265-
}
266-
267-
if (! empty($config['token'])) {
268-
$dynamoConfig['credentials']['token'] = $config['token'];
265+
if (! empty($config['token'])) {
266+
$dynamoConfig['credentials']['token'] = $config['token'];
267+
}
269268
}
270269

271270
return new DynamoDbClient($dynamoConfig);

src/Illuminate/Filesystem/FilesystemManager.php

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -264,10 +264,9 @@ protected function formatS3Config(array $config)
264264

265265
if (! empty($config['key']) && ! empty($config['secret'])) {
266266
$config['credentials'] = Arr::only($config, ['key', 'secret']);
267-
}
268-
269-
if (! empty($config['token'])) {
270-
$config['credentials']['token'] = $config['token'];
267+
if (! empty($config['token'])) {
268+
$config['credentials']['token'] = $config['token'];
269+
}
271270
}
272271

273272
return Arr::except($config, ['token']);

src/Illuminate/Mail/MailManager.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,10 @@ protected function createSesV2Transport(array $config)
286286
protected function addSesCredentials(array $config)
287287
{
288288
if (! empty($config['key']) && ! empty($config['secret'])) {
289-
$config['credentials'] = Arr::only($config, ['key', 'secret', 'token']);
289+
$config['credentials'] = Arr::only($config, ['key', 'secret']);
290+
if (! empty($config['token'])) {
291+
$config['credentials']['token'] = $config['token'];
292+
}
290293
}
291294

292295
return Arr::except($config, ['token']);

src/Illuminate/Queue/Connectors/SqsConnector.php

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ public function connect(array $config)
1919
$config = $this->getDefaultConfiguration($config);
2020

2121
if (! empty($config['key']) && ! empty($config['secret'])) {
22-
$config['credentials'] = Arr::only($config, ['key', 'secret', 'token']);
22+
$config['credentials'] = Arr::only($config, ['key', 'secret']);
23+
if (! empty($config['token'])) {
24+
$config['credentials']['token'] = $config['token'];
25+
}
2326
}
2427

2528
return new SqsQueue(

src/Illuminate/Queue/QueueServiceProvider.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -312,9 +312,10 @@ protected function dynamoFailedJobProvider($config)
312312
];
313313

314314
if (! empty($config['key']) && ! empty($config['secret'])) {
315-
$dynamoConfig['credentials'] = Arr::only(
316-
$config, ['key', 'secret', 'token']
317-
);
315+
$dynamoConfig['credentials'] = Arr::only($config, ['key', 'secret']);
316+
if (! empty($config['token'])) {
317+
$dynamoConfig['credentials']['token'] = $config['token'];
318+
}
318319
}
319320

320321
return new DynamoDbFailedJobProvider(

0 commit comments

Comments
 (0)