@@ -32,7 +32,7 @@ using Aws::Utils::Threading::WriterLockGuard;
32
32
static const char STS_ASSUME_ROLE_WEB_IDENTITY_LOG_TAG[] = " STSAssumeRoleWithWebIdentityCredentialsProvider" ;
33
33
static const int STS_CREDENTIAL_PROVIDER_EXPIRATION_GRACE_PERIOD = 5 * 1000 ;
34
34
35
- STSAssumeRoleWebIdentityCredentialsProvider::STSAssumeRoleWebIdentityCredentialsProvider () :
35
+ STSAssumeRoleWebIdentityCredentialsProvider::STSAssumeRoleWebIdentityCredentialsProvider (Aws::Client::ClientConfiguration config ) :
36
36
m_initialized(false )
37
37
{
38
38
// check environment variables
@@ -97,15 +97,16 @@ STSAssumeRoleWebIdentityCredentialsProvider::STSAssumeRoleWebIdentityCredentials
97
97
AWS_LOGSTREAM_DEBUG (STS_ASSUME_ROLE_WEB_IDENTITY_LOG_TAG, " Resolved session_name from profile_config or environment variable to be " << m_sessionName);
98
98
}
99
99
100
- Aws::Client::ClientConfiguration config;
101
100
config.scheme = Aws::Http::Scheme::HTTPS;
102
101
config.region = tmpRegion;
103
102
104
- Aws::Vector<Aws::String> retryableErrors;
105
- retryableErrors.push_back (" IDPCommunicationError" );
106
- retryableErrors.push_back (" InvalidIdentityToken" );
103
+ if (config.retryStrategy == nullptr ) {
104
+ Aws::Vector<Aws::String> retryableErrors;
105
+ retryableErrors.push_back (" IDPCommunicationError" );
106
+ retryableErrors.push_back (" InvalidIdentityToken" );
107
107
108
- config.retryStrategy = Aws::MakeShared<SpecifiedRetryableErrorsRetryStrategy>(STS_ASSUME_ROLE_WEB_IDENTITY_LOG_TAG, retryableErrors, 3 /* maxRetries*/ );
108
+ config.retryStrategy = Aws::MakeShared<SpecifiedRetryableErrorsRetryStrategy>(STS_ASSUME_ROLE_WEB_IDENTITY_LOG_TAG, retryableErrors, 3 /* maxRetries*/ );
109
+ }
109
110
110
111
m_client = Aws::MakeUnique<Aws::Internal::STSCredentialsClient>(STS_ASSUME_ROLE_WEB_IDENTITY_LOG_TAG, config);
111
112
m_initialized = true ;
0 commit comments