aws-sdk-core 3.226.3 → 3.227.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/endpoints.rb +37 -13
- data/lib/aws-sdk-core/plugins/credentials_configuration.rb +85 -70
- data/lib/aws-sdk-core/plugins/sign.rb +23 -28
- data/lib/aws-sdk-core/plugins/stub_responses.rb +6 -0
- data/lib/aws-sdk-core/plugins/user_agent.rb +2 -1
- data/lib/aws-sdk-core/shared_config.rb +1 -0
- data/lib/aws-sdk-core/static_token_provider.rb +1 -2
- data/lib/aws-sdk-core/token.rb +3 -3
- data/lib/aws-sdk-core/token_provider.rb +4 -0
- data/lib/aws-sdk-core/token_provider_chain.rb +2 -6
- data/lib/aws-sdk-sso/client.rb +19 -9
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +19 -9
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +19 -9
- data/lib/aws-sdk-sts/presigner.rb +2 -6
- data/lib/aws-sdk-sts.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aa0cf0c6bd904859d63bf83c9caf8694b64dc83f3a028c5d4eeac6cd7834be7f
|
4
|
+
data.tar.gz: 1ebd41513f215df4a76ffd6999f6a0850446ddd76c27e407cda2aeec94ee0a11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 73e737ea3ea9ad6a2842c849c95b160fc2fe2bb3ed93b032248203cea51fb0d6809ec7f155571ccdc713051f55c818b6f4d4874e1559d8d68554d08cff5765e4
|
7
|
+
data.tar.gz: f8759e719562f8b1cc1f892acc206312d34741bfaa08773da1e9e1c248bc5a267e27cb9e8c5881a3413a358812c529385e6040b4b85f9df98310409b4a314fd3
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,19 @@
|
|
1
1
|
Unreleased Changes
|
2
2
|
------------------
|
3
3
|
|
4
|
+
3.227.0 (2025-07-21)
|
5
|
+
------------------
|
6
|
+
|
7
|
+
* Feature - Updated Aws::STS::Client with the latest API changes.
|
8
|
+
|
9
|
+
* Feature - Updated Aws::SSOOIDC::Client with the latest API changes.
|
10
|
+
|
11
|
+
* Feature - Updated Aws::SSO::Client with the latest API changes.
|
12
|
+
|
13
|
+
* Feature - Support an auth scheme signing preference list using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or `auth_scheme_preference` in shared configuration.
|
14
|
+
|
15
|
+
* Feature - Support metric tracking for Bedrock Bearer tokens.
|
16
|
+
|
4
17
|
3.226.3 (2025-07-17)
|
5
18
|
------------------
|
6
19
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
3.
|
1
|
+
3.227.0
|
@@ -19,19 +19,28 @@ require 'aws-sigv4'
|
|
19
19
|
module Aws
|
20
20
|
# @api private
|
21
21
|
module Endpoints
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
# Maps config auth scheme preferences to endpoint auth scheme names.
|
23
|
+
ENDPOINT_AUTH_PREFERENCE_MAP = {
|
24
|
+
'sigv4' => %w[sigv4 sigv4-s3express],
|
25
|
+
'sigv4a' => ['sigv4a'],
|
26
|
+
'httpBearerAuth' => ['bearer'],
|
27
|
+
'noAuth' => ['none']
|
28
|
+
}.freeze
|
29
|
+
SUPPORTED_ENDPOINT_AUTH = ENDPOINT_AUTH_PREFERENCE_MAP.values.flatten.freeze
|
30
|
+
|
31
|
+
# Maps configured auth scheme preferences to modeled auth traits.
|
32
|
+
MODELED_AUTH_PREFERENCE_MAP = {
|
33
|
+
'sigv4' => 'aws.auth#sigv4',
|
34
|
+
'sigv4a' => 'aws.auth#sigv4a',
|
35
|
+
'httpBearerAuth' => 'smithy.api#httpBearerAuth',
|
36
|
+
'noAuth' => 'smithy.api#noAuth'
|
37
|
+
}.freeze
|
38
|
+
SUPPORTED_MODELED_AUTH = MODELED_AUTH_PREFERENCE_MAP.values.freeze
|
28
39
|
|
29
40
|
class << self
|
30
41
|
def resolve_auth_scheme(context, endpoint)
|
31
42
|
if endpoint && (auth_schemes = endpoint.properties['authSchemes'])
|
32
|
-
auth_scheme = auth_schemes.
|
33
|
-
Aws::Plugins::Sign::SUPPORTED_AUTH_TYPES.include?(scheme['name'])
|
34
|
-
end
|
43
|
+
auth_scheme = endpoint_auth_scheme_preference(auth_schemes, context.config.auth_scheme_preference)
|
35
44
|
raise 'No supported auth scheme for this endpoint.' unless auth_scheme
|
36
45
|
|
37
46
|
merge_signing_defaults(auth_scheme, context.config)
|
@@ -42,6 +51,16 @@ module Aws
|
|
42
51
|
|
43
52
|
private
|
44
53
|
|
54
|
+
def endpoint_auth_scheme_preference(auth_schemes, preferred_auth)
|
55
|
+
ordered_auth = preferred_auth.each_with_object([]) do |pref, list|
|
56
|
+
next unless ENDPOINT_AUTH_PREFERENCE_MAP.key?(pref)
|
57
|
+
|
58
|
+
ENDPOINT_AUTH_PREFERENCE_MAP[pref].each { |name| list << { 'name' => name } }
|
59
|
+
end
|
60
|
+
ordered_auth += auth_schemes
|
61
|
+
ordered_auth.find { |auth| SUPPORTED_ENDPOINT_AUTH.include?(auth['name']) }
|
62
|
+
end
|
63
|
+
|
45
64
|
def merge_signing_defaults(auth_scheme, config)
|
46
65
|
if %w[sigv4 sigv4a sigv4-s3express].include?(auth_scheme['name'])
|
47
66
|
auth_scheme['signingName'] ||= sigv4_name(config)
|
@@ -64,13 +83,12 @@ module Aws
|
|
64
83
|
end
|
65
84
|
|
66
85
|
def sigv4_name(config)
|
67
|
-
config.api.metadata['signingName'] ||
|
68
|
-
config.api.metadata['endpointPrefix']
|
86
|
+
config.api.metadata['signingName'] || config.api.metadata['endpointPrefix']
|
69
87
|
end
|
70
88
|
|
71
89
|
def default_auth_scheme(context)
|
72
|
-
if (
|
73
|
-
auth =
|
90
|
+
if (modeled_auth = default_api_auth(context))
|
91
|
+
auth = modeled_auth_scheme_preference(modeled_auth, context.config.auth_scheme_preference)
|
74
92
|
case auth
|
75
93
|
when 'aws.auth#sigv4', 'aws.auth#sigv4a'
|
76
94
|
auth_scheme = { 'name' => auth.split('#').last }
|
@@ -93,6 +111,12 @@ module Aws
|
|
93
111
|
end
|
94
112
|
end
|
95
113
|
|
114
|
+
def modeled_auth_scheme_preference(modeled_auth, preferred_auth)
|
115
|
+
ordered_auth = preferred_auth.map { |pref| MODELED_AUTH_PREFERENCE_MAP[pref] }.compact
|
116
|
+
ordered_auth += modeled_auth
|
117
|
+
ordered_auth.find { |auth| SUPPORTED_MODELED_AUTH.include?(auth) }
|
118
|
+
end
|
119
|
+
|
96
120
|
def default_api_auth(context)
|
97
121
|
context.config.api.operation(context.operation_name)['auth'] ||
|
98
122
|
context.config.api.metadata['auth']
|
@@ -17,61 +17,66 @@ module Aws
|
|
17
17
|
option(:profile,
|
18
18
|
doc_default: 'default',
|
19
19
|
doc_type: String,
|
20
|
-
docstring:
|
21
|
-
Used when loading credentials from the shared credentials file
|
22
|
-
|
20
|
+
docstring: <<~DOCS)
|
21
|
+
Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
22
|
+
When not specified, 'default' is used.
|
23
23
|
DOCS
|
24
24
|
|
25
25
|
option(:credentials,
|
26
26
|
required: true,
|
27
27
|
doc_type: 'Aws::CredentialProvider',
|
28
28
|
rbs_type: 'untyped',
|
29
|
-
docstring:
|
30
|
-
Your AWS credentials. This can be an instance of any one of the
|
31
|
-
following classes:
|
32
|
-
|
33
|
-
* `Aws::Credentials` - Used for configuring static, non-refreshing
|
34
|
-
|
35
|
-
|
36
|
-
* `Aws::SharedCredentials` - Used for loading static credentials from a
|
37
|
-
|
38
|
-
|
39
|
-
* `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
40
|
-
|
41
|
-
* `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
|
42
|
-
|
43
|
-
|
44
|
-
* `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
|
45
|
-
|
46
|
-
|
47
|
-
* `Aws::ProcessCredentials` - Used for loading credentials from a
|
48
|
-
|
49
|
-
|
50
|
-
* `Aws::InstanceProfileCredentials` - Used for loading credentials
|
51
|
-
|
52
|
-
|
53
|
-
* `Aws::ECSCredentials` - Used for loading credentials from
|
54
|
-
|
55
|
-
|
56
|
-
* `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
57
|
-
|
58
|
-
|
59
|
-
When `:credentials` are not configured directly, the following
|
60
|
-
locations will be searched for credentials:
|
61
|
-
|
62
|
-
* `Aws.config[:credentials]`
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
*
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
29
|
+
docstring: <<~DOCS
|
30
|
+
Your AWS credentials used for authentication. This can be an instance of any one of the
|
31
|
+
following classes:
|
32
|
+
|
33
|
+
* `Aws::Credentials` - Used for configuring static, non-refreshing
|
34
|
+
credentials.
|
35
|
+
|
36
|
+
* `Aws::SharedCredentials` - Used for loading static credentials from a
|
37
|
+
shared file, such as `~/.aws/config`.
|
38
|
+
|
39
|
+
* `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
|
40
|
+
|
41
|
+
* `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
|
42
|
+
assume a role after providing credentials via the web.
|
43
|
+
|
44
|
+
* `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
|
45
|
+
access token generated from `aws login`.
|
46
|
+
|
47
|
+
* `Aws::ProcessCredentials` - Used for loading credentials from a
|
48
|
+
process that outputs to stdout.
|
49
|
+
|
50
|
+
* `Aws::InstanceProfileCredentials` - Used for loading credentials
|
51
|
+
from an EC2 IMDS on an EC2 instance.
|
52
|
+
|
53
|
+
* `Aws::ECSCredentials` - Used for loading credentials from
|
54
|
+
instances running in ECS.
|
55
|
+
|
56
|
+
* `Aws::CognitoIdentityCredentials` - Used for loading credentials
|
57
|
+
from the Cognito Identity service.
|
58
|
+
|
59
|
+
When `:credentials` are not configured directly, the following
|
60
|
+
locations will be searched for credentials:
|
61
|
+
|
62
|
+
* `Aws.config[:credentials]`
|
63
|
+
|
64
|
+
* The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
65
|
+
`:account_id` options.
|
66
|
+
|
67
|
+
* `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
68
|
+
`ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
69
|
+
|
70
|
+
* `~/.aws/credentials`
|
71
|
+
|
72
|
+
* `~/.aws/config`
|
73
|
+
|
74
|
+
* EC2/ECS IMDS instance profile - When used by default, the timeouts
|
75
|
+
are very aggressive. Construct and pass an instance of
|
76
|
+
`Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
77
|
+
enable retries and extended timeouts. Instance profile credential
|
78
|
+
fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
|
79
|
+
to `true`.
|
75
80
|
DOCS
|
76
81
|
) do |config|
|
77
82
|
CredentialProviderChain.new(config).resolve
|
@@ -82,30 +87,40 @@ locations will be searched for credentials:
|
|
82
87
|
option(:instance_profile_credentials_timeout, 1)
|
83
88
|
|
84
89
|
option(:token_provider,
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
DOCS
|
90
|
+
doc_type: 'Aws::TokenProvider',
|
91
|
+
rbs_type: 'untyped',
|
92
|
+
docstring: <<~DOCS
|
93
|
+
Your Bearer token used for authentication. This can be an instance of any one of the
|
94
|
+
following classes:
|
95
|
+
|
96
|
+
* `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
97
|
+
tokens.
|
98
|
+
|
99
|
+
* `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
|
100
|
+
access token generated from `aws login`.
|
101
|
+
|
102
|
+
When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
|
103
|
+
will be used to search for tokens configured for your profile in shared configuration files.
|
104
|
+
DOCS
|
101
105
|
) do |config|
|
102
|
-
|
103
|
-
StaticTokenProvider.new('token')
|
104
|
-
else
|
105
|
-
TokenProviderChain.new(config).resolve
|
106
|
-
end
|
106
|
+
TokenProviderChain.new(config).resolve
|
107
107
|
end
|
108
108
|
|
109
|
+
option(:auth_scheme_preference,
|
110
|
+
doc_type: 'Array<String>',
|
111
|
+
rbs_type: 'Array[String]',
|
112
|
+
docstring: <<~DOCS
|
113
|
+
A list of preferred authentication schemes to use when making a request. Supported values are:
|
114
|
+
`sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
115
|
+
shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
116
|
+
DOCS
|
117
|
+
) do |config|
|
118
|
+
value =
|
119
|
+
ENV['AWS_AUTH_SCHEME_PREFERENCE'] ||
|
120
|
+
Aws.shared_config.auth_scheme_preference(profile: config.profile) ||
|
121
|
+
''
|
122
|
+
value.gsub(' ', '').gsub("\t", '').split(',')
|
123
|
+
end
|
109
124
|
end
|
110
125
|
end
|
111
126
|
end
|
@@ -13,9 +13,6 @@ module Aws
|
|
13
13
|
option(:sigv4_region)
|
14
14
|
option(:unsigned_operations, default: [])
|
15
15
|
|
16
|
-
supported_auth_types = %w[sigv4 bearer sigv4-s3express sigv4a none]
|
17
|
-
SUPPORTED_AUTH_TYPES = supported_auth_types.freeze
|
18
|
-
|
19
16
|
def add_handlers(handlers, cfg)
|
20
17
|
operations = cfg.api.operation_names - cfg.unsigned_operations
|
21
18
|
handlers.add(Handler, step: :sign, operations: operations)
|
@@ -32,7 +29,7 @@ module Aws
|
|
32
29
|
}
|
33
30
|
SignatureV4.new(auth_scheme, config, sigv4_overrides)
|
34
31
|
when 'bearer'
|
35
|
-
Bearer.new
|
32
|
+
Bearer.new(config)
|
36
33
|
else
|
37
34
|
NullSigner.new
|
38
35
|
end
|
@@ -41,7 +38,6 @@ module Aws
|
|
41
38
|
class Handler < Seahorse::Client::Handler
|
42
39
|
def call(context)
|
43
40
|
# Skip signing if using sigv2 signing from s3_signer in S3
|
44
|
-
credentials = nil
|
45
41
|
unless v2_signing?(context.config)
|
46
42
|
signer = Sign.signer_for(
|
47
43
|
context[:auth_scheme],
|
@@ -49,18 +45,22 @@ module Aws
|
|
49
45
|
context[:sigv4_region],
|
50
46
|
context[:sigv4_credentials]
|
51
47
|
)
|
52
|
-
credentials = signer.credentials if signer.is_a?(SignatureV4)
|
53
48
|
signer.sign(context)
|
54
49
|
end
|
55
|
-
with_metrics(
|
50
|
+
with_metrics(signer) { @handler.call(context) }
|
56
51
|
end
|
57
52
|
|
58
53
|
private
|
59
54
|
|
60
|
-
def with_metrics(
|
61
|
-
|
62
|
-
|
63
|
-
|
55
|
+
def with_metrics(signer, &block)
|
56
|
+
case signer
|
57
|
+
when SignatureV4
|
58
|
+
Aws::Plugins::UserAgent.metric(*signer.credentials.metrics, &block)
|
59
|
+
when Bearer
|
60
|
+
Aws::Plugins::UserAgent.metric(*signer.token_provider.metrics, &block)
|
61
|
+
else
|
62
|
+
block.call
|
63
|
+
end
|
64
64
|
end
|
65
65
|
|
66
66
|
def v2_signing?(config)
|
@@ -72,21 +72,19 @@ module Aws
|
|
72
72
|
|
73
73
|
# @api private
|
74
74
|
class Bearer
|
75
|
-
def initialize
|
75
|
+
def initialize(config)
|
76
|
+
@token_provider = config.token_provider
|
76
77
|
end
|
77
78
|
|
79
|
+
attr_reader :token_provider
|
80
|
+
|
78
81
|
def sign(context)
|
79
82
|
if context.http_request.endpoint.scheme != 'https'
|
80
|
-
raise ArgumentError,
|
81
|
-
'Unable to use bearer authorization on non https endpoint.'
|
83
|
+
raise ArgumentError, 'Unable to use bearer authorization on non https endpoint.'
|
82
84
|
end
|
85
|
+
raise Errors::MissingBearerTokenError unless @token_provider && @token_provider.set?
|
83
86
|
|
84
|
-
|
85
|
-
|
86
|
-
raise Errors::MissingBearerTokenError unless token_provider&.set?
|
87
|
-
|
88
|
-
context.http_request.headers['Authorization'] =
|
89
|
-
"Bearer #{token_provider.token.token}"
|
87
|
+
context.http_request.headers['Authorization'] = "Bearer #{@token_provider.token.token}"
|
90
88
|
end
|
91
89
|
|
92
90
|
def presign_url(*args)
|
@@ -100,16 +98,11 @@ module Aws
|
|
100
98
|
|
101
99
|
# @api private
|
102
100
|
class SignatureV4
|
103
|
-
attr_reader :signer
|
104
|
-
|
105
101
|
def initialize(auth_scheme, config, sigv4_overrides = {})
|
106
102
|
scheme_name = auth_scheme['name']
|
107
|
-
|
108
103
|
unless %w[sigv4 sigv4a sigv4-s3express].include?(scheme_name)
|
109
|
-
raise ArgumentError,
|
110
|
-
"Expected sigv4, sigv4a, or sigv4-s3express auth scheme, got #{scheme_name}"
|
104
|
+
raise ArgumentError, "Expected sigv4, sigv4a, or sigv4-s3express auth scheme, got #{scheme_name}"
|
111
105
|
end
|
112
|
-
|
113
106
|
region = if scheme_name == 'sigv4a'
|
114
107
|
auth_scheme['signingRegionSet'].join(',')
|
115
108
|
else
|
@@ -121,8 +114,8 @@ module Aws
|
|
121
114
|
region: sigv4_overrides[:region] || config.sigv4_region || region,
|
122
115
|
credentials_provider: sigv4_overrides[:credentials] || config.credentials,
|
123
116
|
signing_algorithm: scheme_name.to_sym,
|
124
|
-
uri_escape_path:
|
125
|
-
normalize_path:
|
117
|
+
uri_escape_path: !auth_scheme['disableDoubleEncoding'],
|
118
|
+
normalize_path: !auth_scheme['disableNormalizePath'],
|
126
119
|
unsigned_headers: %w[content-length user-agent x-amzn-trace-id expect transfer-encoding connection]
|
127
120
|
)
|
128
121
|
rescue Aws::Sigv4::Errors::MissingCredentialsError
|
@@ -130,6 +123,8 @@ module Aws
|
|
130
123
|
end
|
131
124
|
end
|
132
125
|
|
126
|
+
attr_reader :signer
|
127
|
+
|
133
128
|
def sign(context)
|
134
129
|
req = context.http_request
|
135
130
|
|
@@ -29,6 +29,12 @@ requests are made, and retries are disabled.
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
option(:token_provider) do |config|
|
33
|
+
if config.stub_responses
|
34
|
+
StaticTokenProvider.new('stubbed-token')
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
32
38
|
option(:stubs) { {} }
|
33
39
|
option(:stubs_mutex) { Mutex.new }
|
34
40
|
option(:api_requests) { [] }
|
@@ -2,12 +2,11 @@
|
|
2
2
|
|
3
3
|
module Aws
|
4
4
|
class StaticTokenProvider
|
5
|
-
|
6
5
|
include TokenProvider
|
7
6
|
|
8
7
|
# @param [String] token
|
9
8
|
# @param [Time] expiration
|
10
|
-
def initialize(token, expiration=nil)
|
9
|
+
def initialize(token, expiration = nil)
|
11
10
|
@token = Token.new(token, expiration)
|
12
11
|
end
|
13
12
|
end
|
data/lib/aws-sdk-core/token.rb
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
module Aws
|
4
4
|
class Token
|
5
5
|
|
6
|
-
# @param [String] token
|
7
|
-
# @param [Time] expiration
|
8
|
-
def initialize(token, expiration=nil)
|
6
|
+
# @param [String, nil] token
|
7
|
+
# @param [Time, nil] expiration
|
8
|
+
def initialize(token, expiration = nil)
|
9
9
|
@token = token
|
10
10
|
@expiration = expiration
|
11
11
|
end
|
@@ -27,17 +27,13 @@ module Aws
|
|
27
27
|
|
28
28
|
def static_profile_sso_token(options)
|
29
29
|
if Aws.shared_config.config_enabled? && options[:config] && options[:config].profile
|
30
|
-
Aws.shared_config.sso_token_from_config(
|
31
|
-
profile: options[:config].profile
|
32
|
-
)
|
30
|
+
Aws.shared_config.sso_token_from_config(profile: options[:config].profile)
|
33
31
|
end
|
34
32
|
end
|
35
33
|
|
36
|
-
|
37
34
|
def sso_token(options)
|
38
|
-
profile_name = determine_profile_name(options)
|
39
35
|
if Aws.shared_config.config_enabled?
|
40
|
-
Aws.shared_config.sso_token_from_config(profile:
|
36
|
+
Aws.shared_config.sso_token_from_config(profile: determine_profile_name(options))
|
41
37
|
end
|
42
38
|
rescue Errors::NoSuchProfileError
|
43
39
|
nil
|
data/lib/aws-sdk-sso/client.rb
CHANGED
@@ -95,7 +95,7 @@ module Aws::SSO
|
|
95
95
|
# class name or an instance of a plugin class.
|
96
96
|
#
|
97
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
98
|
-
# Your AWS credentials. This can be an instance of any one of the
|
98
|
+
# Your AWS credentials used for authentication. This can be an instance of any one of the
|
99
99
|
# following classes:
|
100
100
|
#
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
@@ -128,18 +128,23 @@ module Aws::SSO
|
|
128
128
|
# locations will be searched for credentials:
|
129
129
|
#
|
130
130
|
# * `Aws.config[:credentials]`
|
131
|
+
#
|
131
132
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
133
|
# `:account_id` options.
|
133
|
-
#
|
134
|
-
#
|
134
|
+
#
|
135
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
136
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
137
|
+
#
|
135
138
|
# * `~/.aws/credentials`
|
139
|
+
#
|
136
140
|
# * `~/.aws/config`
|
141
|
+
#
|
137
142
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
138
143
|
# are very aggressive. Construct and pass an instance of
|
139
144
|
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
145
|
# enable retries and extended timeouts. Instance profile credential
|
141
|
-
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
142
|
-
# to true
|
146
|
+
# fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
|
147
|
+
# to `true`.
|
143
148
|
#
|
144
149
|
# @option options [required, String] :region
|
145
150
|
# The AWS region to connect to. The configured `:region` is
|
@@ -167,6 +172,11 @@ module Aws::SSO
|
|
167
172
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
173
|
# not retry instead of sleeping.
|
169
174
|
#
|
175
|
+
# @option options [Array<String>] :auth_scheme_preference
|
176
|
+
# A list of preferred authentication schemes to use when making a request. Supported values are:
|
177
|
+
# `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
178
|
+
# shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
179
|
+
#
|
170
180
|
# @option options [Boolean] :client_side_monitoring (false)
|
171
181
|
# When `true`, client-side metrics will be collected for all API requests from
|
172
182
|
# this client.
|
@@ -253,8 +263,8 @@ module Aws::SSO
|
|
253
263
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
254
264
|
#
|
255
265
|
# @option options [String] :profile ("default")
|
256
|
-
# Used when loading credentials from the shared credentials file
|
257
|
-
#
|
266
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
267
|
+
# When not specified, 'default' is used.
|
258
268
|
#
|
259
269
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
260
270
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
@@ -367,7 +377,7 @@ module Aws::SSO
|
|
367
377
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
368
378
|
#
|
369
379
|
# @option options [Aws::TokenProvider] :token_provider
|
370
|
-
#
|
380
|
+
# Your Bearer token used for authentication. This can be an instance of any one of the
|
371
381
|
# following classes:
|
372
382
|
#
|
373
383
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
@@ -691,7 +701,7 @@ module Aws::SSO
|
|
691
701
|
tracer: tracer
|
692
702
|
)
|
693
703
|
context[:gem_name] = 'aws-sdk-core'
|
694
|
-
context[:gem_version] = '3.
|
704
|
+
context[:gem_version] = '3.227.0'
|
695
705
|
Seahorse::Client::Request.new(handlers, context)
|
696
706
|
end
|
697
707
|
|
data/lib/aws-sdk-sso.rb
CHANGED
@@ -95,7 +95,7 @@ module Aws::SSOOIDC
|
|
95
95
|
# class name or an instance of a plugin class.
|
96
96
|
#
|
97
97
|
# @option options [required, Aws::CredentialProvider] :credentials
|
98
|
-
# Your AWS credentials. This can be an instance of any one of the
|
98
|
+
# Your AWS credentials used for authentication. This can be an instance of any one of the
|
99
99
|
# following classes:
|
100
100
|
#
|
101
101
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
@@ -128,18 +128,23 @@ module Aws::SSOOIDC
|
|
128
128
|
# locations will be searched for credentials:
|
129
129
|
#
|
130
130
|
# * `Aws.config[:credentials]`
|
131
|
+
#
|
131
132
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
132
133
|
# `:account_id` options.
|
133
|
-
#
|
134
|
-
#
|
134
|
+
#
|
135
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
136
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
137
|
+
#
|
135
138
|
# * `~/.aws/credentials`
|
139
|
+
#
|
136
140
|
# * `~/.aws/config`
|
141
|
+
#
|
137
142
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
138
143
|
# are very aggressive. Construct and pass an instance of
|
139
144
|
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
140
145
|
# enable retries and extended timeouts. Instance profile credential
|
141
|
-
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
142
|
-
# to true
|
146
|
+
# fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
|
147
|
+
# to `true`.
|
143
148
|
#
|
144
149
|
# @option options [required, String] :region
|
145
150
|
# The AWS region to connect to. The configured `:region` is
|
@@ -167,6 +172,11 @@ module Aws::SSOOIDC
|
|
167
172
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
168
173
|
# not retry instead of sleeping.
|
169
174
|
#
|
175
|
+
# @option options [Array<String>] :auth_scheme_preference
|
176
|
+
# A list of preferred authentication schemes to use when making a request. Supported values are:
|
177
|
+
# `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
178
|
+
# shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
179
|
+
#
|
170
180
|
# @option options [Boolean] :client_side_monitoring (false)
|
171
181
|
# When `true`, client-side metrics will be collected for all API requests from
|
172
182
|
# this client.
|
@@ -253,8 +263,8 @@ module Aws::SSOOIDC
|
|
253
263
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
254
264
|
#
|
255
265
|
# @option options [String] :profile ("default")
|
256
|
-
# Used when loading credentials from the shared credentials file
|
257
|
-
#
|
266
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
267
|
+
# When not specified, 'default' is used.
|
258
268
|
#
|
259
269
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
260
270
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
@@ -367,7 +377,7 @@ module Aws::SSOOIDC
|
|
367
377
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
368
378
|
#
|
369
379
|
# @option options [Aws::TokenProvider] :token_provider
|
370
|
-
#
|
380
|
+
# Your Bearer token used for authentication. This can be an instance of any one of the
|
371
381
|
# following classes:
|
372
382
|
#
|
373
383
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
@@ -1061,7 +1071,7 @@ module Aws::SSOOIDC
|
|
1061
1071
|
tracer: tracer
|
1062
1072
|
)
|
1063
1073
|
context[:gem_name] = 'aws-sdk-core'
|
1064
|
-
context[:gem_version] = '3.
|
1074
|
+
context[:gem_version] = '3.227.0'
|
1065
1075
|
Seahorse::Client::Request.new(handlers, context)
|
1066
1076
|
end
|
1067
1077
|
|
data/lib/aws-sdk-ssooidc.rb
CHANGED
data/lib/aws-sdk-sts/client.rb
CHANGED
@@ -97,7 +97,7 @@ module Aws::STS
|
|
97
97
|
# class name or an instance of a plugin class.
|
98
98
|
#
|
99
99
|
# @option options [required, Aws::CredentialProvider] :credentials
|
100
|
-
# Your AWS credentials. This can be an instance of any one of the
|
100
|
+
# Your AWS credentials used for authentication. This can be an instance of any one of the
|
101
101
|
# following classes:
|
102
102
|
#
|
103
103
|
# * `Aws::Credentials` - Used for configuring static, non-refreshing
|
@@ -130,18 +130,23 @@ module Aws::STS
|
|
130
130
|
# locations will be searched for credentials:
|
131
131
|
#
|
132
132
|
# * `Aws.config[:credentials]`
|
133
|
+
#
|
133
134
|
# * The `:access_key_id`, `:secret_access_key`, `:session_token`, and
|
134
135
|
# `:account_id` options.
|
135
|
-
#
|
136
|
-
#
|
136
|
+
#
|
137
|
+
# * `ENV['AWS_ACCESS_KEY_ID']`, `ENV['AWS_SECRET_ACCESS_KEY']`,
|
138
|
+
# `ENV['AWS_SESSION_TOKEN']`, and `ENV['AWS_ACCOUNT_ID']`.
|
139
|
+
#
|
137
140
|
# * `~/.aws/credentials`
|
141
|
+
#
|
138
142
|
# * `~/.aws/config`
|
143
|
+
#
|
139
144
|
# * EC2/ECS IMDS instance profile - When used by default, the timeouts
|
140
145
|
# are very aggressive. Construct and pass an instance of
|
141
146
|
# `Aws::InstanceProfileCredentials` or `Aws::ECSCredentials` to
|
142
147
|
# enable retries and extended timeouts. Instance profile credential
|
143
|
-
# fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED']
|
144
|
-
# to true
|
148
|
+
# fetching can be disabled by setting `ENV['AWS_EC2_METADATA_DISABLED']`
|
149
|
+
# to `true`.
|
145
150
|
#
|
146
151
|
# @option options [required, String] :region
|
147
152
|
# The AWS region to connect to. The configured `:region` is
|
@@ -169,6 +174,11 @@ module Aws::STS
|
|
169
174
|
# When false, the request will raise a `RetryCapacityNotAvailableError` and will
|
170
175
|
# not retry instead of sleeping.
|
171
176
|
#
|
177
|
+
# @option options [Array<String>] :auth_scheme_preference
|
178
|
+
# A list of preferred authentication schemes to use when making a request. Supported values are:
|
179
|
+
# `sigv4`, `sigv4a`, `httpBearerAuth`, and `noAuth`. When set using `ENV['AWS_AUTH_SCHEME_PREFERENCE']` or in
|
180
|
+
# shared config as `auth_scheme_preference`, the value should be a comma-separated list.
|
181
|
+
#
|
172
182
|
# @option options [Boolean] :client_side_monitoring (false)
|
173
183
|
# When `true`, client-side metrics will be collected for all API requests from
|
174
184
|
# this client.
|
@@ -255,8 +265,8 @@ module Aws::STS
|
|
255
265
|
# 4 times. Used in `standard` and `adaptive` retry modes.
|
256
266
|
#
|
257
267
|
# @option options [String] :profile ("default")
|
258
|
-
# Used when loading credentials from the shared credentials file
|
259
|
-
#
|
268
|
+
# Used when loading credentials from the shared credentials file at `HOME/.aws/credentials`.
|
269
|
+
# When not specified, 'default' is used.
|
260
270
|
#
|
261
271
|
# @option options [String] :request_checksum_calculation ("when_supported")
|
262
272
|
# Determines when a checksum will be calculated for request payloads. Values are:
|
@@ -374,7 +384,7 @@ module Aws::STS
|
|
374
384
|
# `Aws::Telemetry::OTelProvider` for telemetry provider.
|
375
385
|
#
|
376
386
|
# @option options [Aws::TokenProvider] :token_provider
|
377
|
-
#
|
387
|
+
# Your Bearer token used for authentication. This can be an instance of any one of the
|
378
388
|
# following classes:
|
379
389
|
#
|
380
390
|
# * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
|
@@ -2594,7 +2604,7 @@ module Aws::STS
|
|
2594
2604
|
tracer: tracer
|
2595
2605
|
)
|
2596
2606
|
context[:gem_name] = 'aws-sdk-core'
|
2597
|
-
context[:gem_version] = '3.
|
2607
|
+
context[:gem_version] = '3.227.0'
|
2598
2608
|
Seahorse::Client::Request.new(handlers, context)
|
2599
2609
|
end
|
2600
2610
|
|
@@ -53,13 +53,9 @@ module Aws
|
|
53
53
|
use_fips: context.config.use_fips_endpoint,
|
54
54
|
use_global_endpoint: context.config.sts_regional_endpoints == 'legacy'
|
55
55
|
)
|
56
|
-
endpoint = context.config.endpoint_provider
|
57
|
-
.resolve_endpoint(endpoint_params)
|
56
|
+
endpoint = context.config.endpoint_provider.resolve_endpoint(endpoint_params)
|
58
57
|
auth_scheme = Aws::Endpoints.resolve_auth_scheme(context, endpoint)
|
59
|
-
|
60
|
-
signer = Aws::Plugins::Sign.signer_for(
|
61
|
-
auth_scheme, context.config
|
62
|
-
)
|
58
|
+
signer = Aws::Plugins::Sign.signer_for(auth_scheme, context.config)
|
63
59
|
|
64
60
|
signer.presign_url(
|
65
61
|
http_method: 'GET',
|
data/lib/aws-sdk-sts.rb
CHANGED