Skip to content

Commit 346c688

Browse files
Revert "bugfix: sts credential provider endpoint mode (#3198)" (#3199)
This reverts commit 67a00ab.
1 parent 67a00ab commit 346c688

File tree

4 files changed

+7
-101
lines changed

4 files changed

+7
-101
lines changed

.changes/nextrelease/sts-providers.json

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/Credentials/AssumeRoleWithWebIdentityCredentialProvider.php

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ class AssumeRoleWithWebIdentityCredentialProvider
3636

3737
/** @var integer */
3838
private $tokenFileReadAttempts;
39-
4039
/** @var string */
4140
private $source;
4241

@@ -73,17 +72,14 @@ public function __construct(array $config = [])
7372
$this->tokenFileReadAttempts = 0;
7473
$this->session = $config['SessionName']
7574
?? 'aws-sdk-php-' . round(microtime(true) * 1000);
76-
$region = $config['region'] ?? null;
75+
$region = $config['region'] ?? 'us-east-1';
7776
if (isset($config['client'])) {
7877
$this->client = $config['client'];
7978
} else {
8079
$this->client = new StsClient([
8180
'credentials' => false,
82-
'region' => $region ?? 'us-east-1',
83-
'version' => 'latest',
84-
'sts_regional_endpoints' => $region
85-
? 'regional'
86-
: 'legacy'
81+
'region' => $region,
82+
'version' => 'latest'
8783
]);
8884
}
8985

src/Credentials/CredentialProvider.php

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,9 @@ private static function loadRoleProfile(
708708
}
709709

710710
if (empty($stsClient)) {
711-
$sourceRegion = $profiles[$sourceProfileName]['region'] ?? null;
711+
$sourceRegion = isset($profiles[$sourceProfileName]['region'])
712+
? $profiles[$sourceProfileName]['region']
713+
: 'us-east-1';
712714
$config['preferStaticCredentials'] = true;
713715
$sourceCredentials = null;
714716
if (!empty($roleProfile['source_profile'])){
@@ -723,11 +725,8 @@ private static function loadRoleProfile(
723725
}
724726
$stsClient = new StsClient([
725727
'credentials' => $sourceCredentials,
726-
'region' => $sourceRegion ?? 'us-east-1',
728+
'region' => $sourceRegion,
727729
'version' => '2011-06-15',
728-
'sts_regional_endpoints' => $sourceRegion
729-
? 'regional'
730-
: 'legacy'
731730
]);
732731
}
733732

tests/Credentials/AssumeRoleWithWebIdentityCredentialProviderTest.php

Lines changed: 0 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
use Aws\Credentials\AssumeRoleWithWebIdentityCredentialProvider;
77
use Aws\Credentials\Credentials;
88
use Aws\Exception\AwsException;
9-
use Aws\Middleware;
109
use Aws\Result;
1110
use Aws\Sts\StsClient;
1211
use Aws\Sts\Exception\StsException;
@@ -397,85 +396,4 @@ public function testCanDisableInvalidIdentityTokenRetries()
397396
unlink($tokenPath);
398397
}
399398
}
400-
401-
/**
402-
* @dataProvider endpointConfigurationProvider
403-
*/
404-
public function testEndpointConfigurationBasedOnRegion(
405-
?string $region,
406-
string $expectedEndpoint,
407-
string $description
408-
): void
409-
{
410-
$tokenFile = tempnam(sys_get_temp_dir(), 'token');
411-
file_put_contents($tokenFile, 'test-token-content');
412-
413-
$config = [
414-
'RoleArn' => self::SAMPLE_ROLE_ARN,
415-
'WebIdentityTokenFile' => $tokenFile,
416-
];
417-
418-
if ($region !== null) {
419-
$config['region'] = $region;
420-
}
421-
422-
423-
$provider = new AssumeRoleWithWebIdentityCredentialProvider($config);
424-
$reflection = new \ReflectionClass($provider);
425-
$clientProperty = $reflection->getProperty('client');
426-
$stsClient = $clientProperty->getValue($provider);
427-
428-
$capturedEndpoint = null;
429-
$stsClient->getHandlerList()->appendBuild(
430-
Middleware::tap(
431-
function ($cmd, $req) use (&$capturedEndpoint) {
432-
$capturedEndpoint = (string) $req->getUri();
433-
}
434-
)
435-
);
436-
437-
$stsClient->getHandlerList()->setHandler(
438-
function ($c, $r) {
439-
$result = [
440-
'Credentials' => [
441-
'AccessKeyId' => 'foo',
442-
'SecretAccessKey' => 'bar',
443-
'SessionToken' => 'baz',
444-
'Expiration' => DateTimeResult::fromEpoch(time() + 10)
445-
],
446-
'AssumedRoleUser' => [
447-
'AssumedRoleId' => 'ARXXXXXXXXXXXXXXXXXXX:test_session',
448-
'Arn' => self::SAMPLE_ROLE_ARN . "/test_session"
449-
]
450-
];
451-
return Promise\Create::promiseFor(new Result($result));
452-
}
453-
);
454-
455-
$provider()->wait();
456-
457-
$this->assertEquals(
458-
$expectedEndpoint,
459-
$capturedEndpoint,
460-
"Failed asserting endpoint for: {$description}"
461-
);
462-
463-
unlink($tokenFile);
464-
}
465-
466-
public function endpointConfigurationProvider(): array
467-
{
468-
return [
469-
'explicit us-east-1 uses regional endpoint' => [
470-
'region' => 'us-east-1',
471-
'expectedEndpoint' => 'https://sts.us-east-1.amazonaws.com/',
472-
'description' => 'explicit us-east-1'
473-
],
474-
'no region defaults to us-east-1 with global endpoint' => [
475-
'region' => null,
476-
'expectedEndpoint' => 'https://sts.amazonaws.com/',
477-
'description' => 'default region'
478-
]
479-
];
480-
}
481399
}

0 commit comments

Comments
 (0)