@@ -199,14 +199,16 @@ private static AWSCredentials GetAWSCredentialsInternal(
199
199
{
200
200
if ( profileType . HasValue )
201
201
{
202
+ AWSCredentials awsCredentials = null ;
202
203
switch ( profileType )
203
204
{
204
205
case CredentialProfileType . Basic :
205
- var basicCredentials = new BasicAWSCredentials ( options . AccessKey , options . SecretKey , options . AwsAccountId ) ;
206
- basicCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE ) ;
207
- return basicCredentials ;
206
+ awsCredentials = new BasicAWSCredentials ( options . AccessKey , options . SecretKey , options . AwsAccountId ) ;
207
+ awsCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE ) ;
208
+ break ;
208
209
case CredentialProfileType . Session :
209
- return new SessionAWSCredentials ( options . AccessKey , options . SecretKey , options . Token , options . AwsAccountId ) ;
210
+ awsCredentials = new SessionAWSCredentials ( options . AccessKey , options . SecretKey , options . Token , options . AwsAccountId ) ;
211
+ break ;
210
212
case CredentialProfileType . AssumeRole :
211
213
case CredentialProfileType . AssumeRoleExternal :
212
214
case CredentialProfileType . AssumeRoleMFA :
@@ -252,10 +254,10 @@ private static AWSCredentials GetAWSCredentialsInternal(
252
254
MfaSerialNumber = options . MfaSerial
253
255
} ;
254
256
255
- var assumeRoleCredentials = new AssumeRoleAWSCredentials ( sourceCredentials , options . RoleArn , roleSessionName , assumeRoleOptions ) ;
256
- assumeRoleCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_SOURCE_PROFILE ) ;
257
- return assumeRoleCredentials ;
258
-
257
+ awsCredentials = new AssumeRoleAWSCredentials ( sourceCredentials , options . RoleArn , roleSessionName , assumeRoleOptions ) ;
258
+ awsCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_SOURCE_PROFILE ) ;
259
+ break ;
260
+
259
261
case CredentialProfileType . AssumeRoleCredentialSource :
260
262
case CredentialProfileType . AssumeRoleCredentialSourceSessionName :
261
263
// get credentials specified by credentialSource
@@ -276,34 +278,30 @@ private static AWSCredentials GetAWSCredentialsInternal(
276
278
roleSessionName = options . RoleSessionName ?? RoleSessionNamePrefix + AWSSDKUtils . CorrectedUtcNow . Ticks ;
277
279
assumeRoleOptions = new AssumeRoleAWSCredentialsOptions ( ) ;
278
280
279
- var assumeRoleSourceCredentials = new AssumeRoleAWSCredentials ( sourceCredentials , options . RoleArn , roleSessionName , assumeRoleOptions ) ;
280
- assumeRoleSourceCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_NAMED_PROVIDER ) ;
281
- return assumeRoleSourceCredentials ;
282
-
281
+ awsCredentials = new AssumeRoleAWSCredentials ( sourceCredentials , options . RoleArn , roleSessionName , assumeRoleOptions ) ;
282
+ awsCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_NAMED_PROVIDER ) ;
283
+ break ;
284
+
283
285
case CredentialProfileType . AssumeRoleWithWebIdentity :
284
286
case CredentialProfileType . AssumeRoleWithWebIdentitySessionName :
285
- var assumeRoleWebIdentityCredentials = new AssumeRoleWithWebIdentityCredentials ( options . WebIdentityTokenFile , options . RoleArn , options . RoleSessionName ) ;
286
- assumeRoleWebIdentityCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN ) ;
287
- return assumeRoleWebIdentityCredentials ;
288
-
287
+ awsCredentials = new AssumeRoleWithWebIdentityCredentials ( options . WebIdentityTokenFile , options . RoleArn , options . RoleSessionName ) ;
288
+ awsCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN ) ;
289
+ break ;
290
+
289
291
case CredentialProfileType . SSO :
290
- {
291
- var ssoCredentialsOptions = new SSOAWSCredentialsOptions
292
- {
292
+ var ssoCredentialsOptions = new SSOAWSCredentialsOptions
293
+ {
293
294
SessionName = options . SsoSession ,
294
295
Scopes = options . SsoRegistrationScopes ? . Split ( new char [ ] { ',' } , StringSplitOptions . RemoveEmptyEntries ) . Select ( p => p . Trim ( ) ) . ToList ( )
295
296
} ;
296
297
297
298
var isLegacyFormat = string . IsNullOrEmpty ( options . SsoSession ) ;
298
- var ssoCredentials = new SSOAWSCredentials ( options . SsoAccountId , options . SsoRegion , options . SsoRoleName , options . SsoStartUrl , ssoCredentialsOptions ) ;
299
- ssoCredentials . FeatureIdSources . Add ( isLegacyFormat ? UserAgentFeatureId . CREDENTIALS_PROFILE_SSO_LEGACY : UserAgentFeatureId . CREDENTIALS_PROFILE_SSO ) ;
299
+ awsCredentials = new SSOAWSCredentials ( options . SsoAccountId , options . SsoRegion , options . SsoRoleName , options . SsoStartUrl , ssoCredentialsOptions ) ;
300
+ awsCredentials . FeatureIdSources . Add ( isLegacyFormat ? UserAgentFeatureId . CREDENTIALS_PROFILE_SSO_LEGACY : UserAgentFeatureId . CREDENTIALS_PROFILE_SSO ) ;
301
+ break ;
300
302
301
- return ssoCredentials ;
302
- }
303
-
304
303
case CredentialProfileType . SAMLRole :
305
304
case CredentialProfileType . SAMLRoleUserIdentity :
306
-
307
305
if ( UserCrypto . IsUserCryptAvailable )
308
306
{
309
307
var federatedOptions = new FederatedAWSCredentialsOptions ( )
@@ -312,17 +310,18 @@ private static AWSCredentials GetAWSCredentialsInternal(
312
310
UserIdentity = options . UserIdentity ,
313
311
ProfileName = profileName
314
312
} ;
315
- return new FederatedAWSCredentials ( new SAMLEndpointManager ( ) . GetEndpoint ( options . EndpointName ) ,
313
+ awsCredentials = new FederatedAWSCredentials ( new SAMLEndpointManager ( ) . GetEndpoint ( options . EndpointName ) ,
316
314
options . RoleArn , federatedOptions ) ;
315
+ break ;
317
316
}
318
317
else
319
318
{
320
319
return ThrowOrReturnNull ( "Federated credentials are not available on this platform." , null , throwIfInvalid ) ;
321
320
}
322
321
case CredentialProfileType . CredentialProcess :
323
- var processCredentials = new ProcessAWSCredentials ( options . CredentialProcess , options . AwsAccountId ) ;
324
- processCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_PROCESS ) ;
325
- return processCredentials ;
322
+ awsCredentials = new ProcessAWSCredentials ( options . CredentialProcess , options . AwsAccountId ) ;
323
+ awsCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_PROFILE_PROCESS ) ;
324
+ break ;
326
325
327
326
default :
328
327
var defaultMessage = profileName == null
@@ -333,6 +332,11 @@ private static AWSCredentials GetAWSCredentialsInternal(
333
332
334
333
return ThrowOrReturnNull ( defaultMessage , null , throwIfInvalid ) ;
335
334
}
335
+
336
+ if ( profileSource is NetSDKCredentialsFile )
337
+ awsCredentials . FeatureIdSources . Add ( UserAgentFeatureId . CREDENTIALS_AWS_SDK_STORE ) ;
338
+
339
+ return awsCredentials ;
336
340
}
337
341
else
338
342
{
0 commit comments