diff --git a/gems/aws-sdk-core/CHANGELOG.md b/gems/aws-sdk-core/CHANGELOG.md index bc3f54f01a4..eda863d9210 100644 --- a/gems/aws-sdk-core/CHANGELOG.md +++ b/gems/aws-sdk-core/CHANGELOG.md @@ -1,6 +1,8 @@ Unreleased Changes ------------------ +* Issue - Fix `login_credentials` in credentials chain when config is enabled. + 3.239.1 (2025-11-21) ------------------ diff --git a/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb b/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb index 61252018486..20a61ac2b24 100644 --- a/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb +++ b/gems/aws-sdk-core/lib/aws-sdk-core/credential_provider_chain.rb @@ -173,7 +173,8 @@ def login_credentials(options) return unless Aws.shared_config.config_enabled? profile_name = determine_profile_name(options) - Aws.shared_config.login_credentials_from_config(profile: profile_name, region: options[:config].region) + region = options[:config].region if options[:config] + Aws.shared_config.login_credentials_from_config(profile: profile_name, region: region) rescue Errors::NoSuchProfileError nil end diff --git a/gems/aws-sdk-core/spec/aws/credential_provider_chain_spec.rb b/gems/aws-sdk-core/spec/aws/credential_provider_chain_spec.rb index 6b20e9ba155..e113534b8f2 100644 --- a/gems/aws-sdk-core/spec/aws/credential_provider_chain_spec.rb +++ b/gems/aws-sdk-core/spec/aws/credential_provider_chain_spec.rb @@ -169,6 +169,11 @@ def validate_metrics(*expected_metrics) it 'defaults to nil' do expect(credentials).to be(nil) end + + it 'defaults to nil when config is enabled' do + Aws.shared_config.fresh(config_enabled: true) + expect(credentials).to be(nil) + end end describe 'with shared credentials' do