aws-sdk-core 3.217.0 → 3.222.2
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 +67 -0
- data/VERSION +1 -1
- data/lib/aws-sdk-core/assume_role_credentials.rb +1 -0
- data/lib/aws-sdk-core/assume_role_web_identity_credentials.rb +1 -0
- data/lib/aws-sdk-core/client_stubs.rb +22 -48
- data/lib/aws-sdk-core/credential_provider.rb +4 -0
- data/lib/aws-sdk-core/credential_provider_chain.rb +27 -7
- data/lib/aws-sdk-core/credentials.rb +6 -0
- data/lib/aws-sdk-core/ecs_credentials.rb +1 -0
- data/lib/aws-sdk-core/errors.rb +2 -2
- data/lib/aws-sdk-core/instance_profile_credentials.rb +1 -0
- data/lib/aws-sdk-core/plugins/client_metrics_plugin.rb +0 -1
- data/lib/aws-sdk-core/plugins/sign.rb +16 -2
- data/lib/aws-sdk-core/plugins/stub_responses.rb +24 -8
- data/lib/aws-sdk-core/plugins/user_agent.rb +23 -2
- data/lib/aws-sdk-core/process_credentials.rb +1 -1
- data/lib/aws-sdk-core/rest/request/headers.rb +1 -1
- data/lib/aws-sdk-core/shared_config.rb +71 -21
- data/lib/aws-sdk-core/shared_credentials.rb +1 -0
- data/lib/aws-sdk-core/sso_credentials.rb +2 -0
- data/lib/aws-sdk-sso/client.rb +29 -29
- data/lib/aws-sdk-sso/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-sso.rb +1 -1
- data/lib/aws-sdk-ssooidc/client.rb +42 -31
- data/lib/aws-sdk-ssooidc/client_api.rb +6 -0
- data/lib/aws-sdk-ssooidc/endpoint_provider.rb +14 -18
- data/lib/aws-sdk-ssooidc/types.rb +28 -1
- data/lib/aws-sdk-ssooidc.rb +1 -1
- data/lib/aws-sdk-sts/client.rb +30 -30
- data/lib/aws-sdk-sts/endpoint_provider.rb +33 -38
- data/lib/aws-sdk-sts/errors.rb +16 -0
- data/lib/aws-sdk-sts.rb +1 -1
- data/lib/seahorse/client/async_base.rb +4 -5
- data/lib/seahorse/client/h2/connection.rb +18 -28
- data/lib/seahorse/client/net_http/connection_pool.rb +2 -0
- data/lib/seahorse/client/networking_error.rb +1 -1
- data/lib/seahorse/client/plugins/h2.rb +4 -4
- metadata +36 -8
@@ -138,7 +138,11 @@ module Aws
|
|
138
138
|
role_session_name: entry['role_session_name']
|
139
139
|
}
|
140
140
|
cfg[:region] = opts[:region] if opts[:region]
|
141
|
-
|
141
|
+
with_metrics('CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN') do
|
142
|
+
creds = AssumeRoleWebIdentityCredentials.new(cfg)
|
143
|
+
creds.metrics << 'CREDENTIALS_PROFILE_STS_WEB_ID_TOKEN'
|
144
|
+
creds
|
145
|
+
end
|
142
146
|
end
|
143
147
|
end
|
144
148
|
end
|
@@ -255,8 +259,8 @@ module Aws
|
|
255
259
|
'provide only source_profile or credential_source, not both.'
|
256
260
|
elsif opts[:source_profile]
|
257
261
|
opts[:visited_profiles] ||= Set.new
|
258
|
-
|
259
|
-
if opts[:credentials]
|
262
|
+
provider = resolve_source_profile(opts[:source_profile], opts)
|
263
|
+
if provider && (opts[:credentials] = provider.credentials)
|
260
264
|
opts[:role_session_name] ||= prof_cfg['role_session_name']
|
261
265
|
opts[:role_session_name] ||= 'default_session'
|
262
266
|
opts[:role_arn] ||= prof_cfg['role_arn']
|
@@ -265,17 +269,28 @@ module Aws
|
|
265
269
|
opts[:serial_number] ||= prof_cfg['mfa_serial']
|
266
270
|
opts[:profile] = opts.delete(:source_profile)
|
267
271
|
opts.delete(:visited_profiles)
|
268
|
-
|
272
|
+
|
273
|
+
metrics = provider.metrics
|
274
|
+
if provider.is_a?(AssumeRoleCredentials)
|
275
|
+
opts[:credentials] = provider
|
276
|
+
metrics.delete('CREDENTIALS_STS_ASSUME_ROLE')
|
277
|
+
else
|
278
|
+
metrics << 'CREDENTIALS_PROFILE_SOURCE_PROFILE'
|
279
|
+
end
|
280
|
+
# Set the original credentials metrics to [] to prevent duplicate metrics during sign plugin
|
281
|
+
opts[:credentials].metrics = []
|
282
|
+
with_metrics(metrics) do
|
283
|
+
creds = AssumeRoleCredentials.new(opts)
|
284
|
+
creds.metrics.push(*metrics)
|
285
|
+
creds
|
286
|
+
end
|
269
287
|
else
|
270
288
|
raise Errors::NoSourceProfileError,
|
271
289
|
"Profile #{profile} has a role_arn, and source_profile, but the"\
|
272
290
|
' source_profile does not have credentials.'
|
273
291
|
end
|
274
292
|
elsif credential_source
|
275
|
-
opts[:credentials] = credentials_from_source(
|
276
|
-
credential_source,
|
277
|
-
chain_config
|
278
|
-
)
|
293
|
+
opts[:credentials] = credentials_from_source(credential_source, chain_config)
|
279
294
|
if opts[:credentials]
|
280
295
|
opts[:role_session_name] ||= prof_cfg['role_session_name']
|
281
296
|
opts[:role_session_name] ||= 'default_session'
|
@@ -284,7 +299,16 @@ module Aws
|
|
284
299
|
opts[:external_id] ||= prof_cfg['external_id']
|
285
300
|
opts[:serial_number] ||= prof_cfg['mfa_serial']
|
286
301
|
opts.delete(:source_profile) # Cleanup
|
287
|
-
|
302
|
+
|
303
|
+
metrics = opts[:credentials].metrics
|
304
|
+
metrics << 'CREDENTIALS_PROFILE_NAMED_PROVIDER'
|
305
|
+
# Set the original credentials metrics to [] to prevent duplicate metrics during sign plugin
|
306
|
+
opts[:credentials].metrics = []
|
307
|
+
with_metrics(metrics) do
|
308
|
+
creds = AssumeRoleCredentials.new(opts)
|
309
|
+
creds.metrics.push(*metrics)
|
310
|
+
creds
|
311
|
+
end
|
288
312
|
else
|
289
313
|
raise Errors::NoSourceCredentials,
|
290
314
|
"Profile #{profile} could not get source credentials from"\
|
@@ -312,12 +336,24 @@ module Aws
|
|
312
336
|
elsif profile_config && profile_config['source_profile']
|
313
337
|
opts.delete(:source_profile)
|
314
338
|
assume_role_credentials_from_config(opts.merge(profile: profile))
|
315
|
-
elsif (provider =
|
316
|
-
provider
|
339
|
+
elsif (provider = assume_role_web_identity_credentials_from_config_with_metrics(opts.merge(profile: profile)))
|
340
|
+
provider if provider.credentials.set?
|
317
341
|
elsif (provider = assume_role_process_credentials_from_config(profile))
|
318
|
-
provider
|
319
|
-
elsif (provider =
|
320
|
-
provider
|
342
|
+
provider if provider.credentials.set?
|
343
|
+
elsif (provider = sso_credentials_from_config_with_metrics(profile))
|
344
|
+
provider if provider.credentials.set?
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
348
|
+
def assume_role_web_identity_credentials_from_config_with_metrics(opts)
|
349
|
+
with_metrics('CREDENTIALS_PROFILE_SOURCE_PROFILE') do
|
350
|
+
assume_role_web_identity_credentials_from_config(opts)
|
351
|
+
end
|
352
|
+
end
|
353
|
+
|
354
|
+
def sso_credentials_from_config_with_metrics(profile)
|
355
|
+
with_metrics('CREDENTIALS_PROFILE_SOURCE_PROFILE') do
|
356
|
+
sso_credentials_from_config(profile: profile)
|
321
357
|
end
|
322
358
|
end
|
323
359
|
|
@@ -342,7 +378,11 @@ module Aws
|
|
342
378
|
if @parsed_config
|
343
379
|
credential_process ||= @parsed_config.fetch(profile, {})['credential_process']
|
344
380
|
end
|
345
|
-
|
381
|
+
if credential_process
|
382
|
+
creds = ProcessCredentials.new([credential_process])
|
383
|
+
creds.metrics << 'CREDENTIALS_PROFILE_PROCESS'
|
384
|
+
creds
|
385
|
+
end
|
346
386
|
end
|
347
387
|
|
348
388
|
def credentials_from_shared(profile, _opts)
|
@@ -386,13 +426,18 @@ module Aws
|
|
386
426
|
sso_start_url = prof_config['sso_start_url']
|
387
427
|
end
|
388
428
|
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
429
|
+
metric = prof_config['sso_session'] ? 'CREDENTIALS_PROFILE_SSO' : 'CREDENTIALS_PROFILE_SSO_LEGACY'
|
430
|
+
with_metrics(metric) do
|
431
|
+
creds = SSOCredentials.new(
|
432
|
+
sso_account_id: prof_config['sso_account_id'],
|
433
|
+
sso_role_name: prof_config['sso_role_name'],
|
434
|
+
sso_session: prof_config['sso_session'],
|
435
|
+
sso_region: sso_region,
|
436
|
+
sso_start_url: sso_start_url
|
395
437
|
)
|
438
|
+
creds.metrics << metric
|
439
|
+
creds
|
440
|
+
end
|
396
441
|
end
|
397
442
|
end
|
398
443
|
|
@@ -420,6 +465,7 @@ module Aws
|
|
420
465
|
prof_config['aws_session_token'],
|
421
466
|
account_id: prof_config['aws_account_id']
|
422
467
|
)
|
468
|
+
creds.metrics = ['CREDENTIALS_PROFILE']
|
423
469
|
creds if creds.set?
|
424
470
|
end
|
425
471
|
|
@@ -480,5 +526,9 @@ module Aws
|
|
480
526
|
|
481
527
|
sso_session
|
482
528
|
end
|
529
|
+
|
530
|
+
def with_metrics(metrics, &block)
|
531
|
+
Aws::Plugins::UserAgent.metric(*metrics, &block)
|
532
|
+
end
|
483
533
|
end
|
484
534
|
end
|
@@ -91,6 +91,7 @@ module Aws
|
|
91
91
|
client_opts[:credentials] = nil
|
92
92
|
@client = Aws::SSO::Client.new(client_opts)
|
93
93
|
end
|
94
|
+
@metrics = ['CREDENTIALS_SSO']
|
94
95
|
else # legacy behavior
|
95
96
|
missing_keys = LEGACY_REQUIRED_OPTS.select { |k| options[k].nil? }
|
96
97
|
unless missing_keys.empty?
|
@@ -111,6 +112,7 @@ module Aws
|
|
111
112
|
client_opts[:credentials] = nil
|
112
113
|
|
113
114
|
@client = options[:client] || Aws::SSO::Client.new(client_opts)
|
115
|
+
@metrics = ['CREDENTIALS_SSO_LEGACY']
|
114
116
|
end
|
115
117
|
|
116
118
|
@async_refresh = true
|
data/lib/aws-sdk-sso/client.rb
CHANGED
@@ -7,34 +7,34 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
10
|
-
require 'seahorse/client/plugins/content_length
|
11
|
-
require 'aws-sdk-core/plugins/credentials_configuration
|
12
|
-
require 'aws-sdk-core/plugins/logging
|
13
|
-
require 'aws-sdk-core/plugins/param_converter
|
14
|
-
require 'aws-sdk-core/plugins/param_validator
|
15
|
-
require 'aws-sdk-core/plugins/user_agent
|
16
|
-
require 'aws-sdk-core/plugins/helpful_socket_errors
|
17
|
-
require 'aws-sdk-core/plugins/retry_errors
|
18
|
-
require 'aws-sdk-core/plugins/global_configuration
|
19
|
-
require 'aws-sdk-core/plugins/regional_endpoint
|
20
|
-
require 'aws-sdk-core/plugins/endpoint_discovery
|
21
|
-
require 'aws-sdk-core/plugins/endpoint_pattern
|
22
|
-
require 'aws-sdk-core/plugins/response_paging
|
23
|
-
require 'aws-sdk-core/plugins/stub_responses
|
24
|
-
require 'aws-sdk-core/plugins/idempotency_token
|
25
|
-
require 'aws-sdk-core/plugins/invocation_id
|
26
|
-
require 'aws-sdk-core/plugins/jsonvalue_converter
|
27
|
-
require 'aws-sdk-core/plugins/client_metrics_plugin
|
28
|
-
require 'aws-sdk-core/plugins/client_metrics_send_plugin
|
29
|
-
require 'aws-sdk-core/plugins/transfer_encoding
|
30
|
-
require 'aws-sdk-core/plugins/http_checksum
|
31
|
-
require 'aws-sdk-core/plugins/checksum_algorithm
|
32
|
-
require 'aws-sdk-core/plugins/request_compression
|
33
|
-
require 'aws-sdk-core/plugins/defaults_mode
|
34
|
-
require 'aws-sdk-core/plugins/recursion_detection
|
35
|
-
require 'aws-sdk-core/plugins/telemetry
|
36
|
-
require 'aws-sdk-core/plugins/sign
|
37
|
-
require 'aws-sdk-core/plugins/protocols/rest_json
|
10
|
+
require 'seahorse/client/plugins/content_length'
|
11
|
+
require 'aws-sdk-core/plugins/credentials_configuration'
|
12
|
+
require 'aws-sdk-core/plugins/logging'
|
13
|
+
require 'aws-sdk-core/plugins/param_converter'
|
14
|
+
require 'aws-sdk-core/plugins/param_validator'
|
15
|
+
require 'aws-sdk-core/plugins/user_agent'
|
16
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors'
|
17
|
+
require 'aws-sdk-core/plugins/retry_errors'
|
18
|
+
require 'aws-sdk-core/plugins/global_configuration'
|
19
|
+
require 'aws-sdk-core/plugins/regional_endpoint'
|
20
|
+
require 'aws-sdk-core/plugins/endpoint_discovery'
|
21
|
+
require 'aws-sdk-core/plugins/endpoint_pattern'
|
22
|
+
require 'aws-sdk-core/plugins/response_paging'
|
23
|
+
require 'aws-sdk-core/plugins/stub_responses'
|
24
|
+
require 'aws-sdk-core/plugins/idempotency_token'
|
25
|
+
require 'aws-sdk-core/plugins/invocation_id'
|
26
|
+
require 'aws-sdk-core/plugins/jsonvalue_converter'
|
27
|
+
require 'aws-sdk-core/plugins/client_metrics_plugin'
|
28
|
+
require 'aws-sdk-core/plugins/client_metrics_send_plugin'
|
29
|
+
require 'aws-sdk-core/plugins/transfer_encoding'
|
30
|
+
require 'aws-sdk-core/plugins/http_checksum'
|
31
|
+
require 'aws-sdk-core/plugins/checksum_algorithm'
|
32
|
+
require 'aws-sdk-core/plugins/request_compression'
|
33
|
+
require 'aws-sdk-core/plugins/defaults_mode'
|
34
|
+
require 'aws-sdk-core/plugins/recursion_detection'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry'
|
36
|
+
require 'aws-sdk-core/plugins/sign'
|
37
|
+
require 'aws-sdk-core/plugins/protocols/rest_json'
|
38
38
|
|
39
39
|
module Aws::SSO
|
40
40
|
# An API client for SSO. To construct a client, you need to configure a `:region` and `:credentials`.
|
@@ -692,7 +692,7 @@ module Aws::SSO
|
|
692
692
|
tracer: tracer
|
693
693
|
)
|
694
694
|
context[:gem_name] = 'aws-sdk-core'
|
695
|
-
context[:gem_version] = '3.
|
695
|
+
context[:gem_version] = '3.222.2'
|
696
696
|
Seahorse::Client::Request.new(handlers, context)
|
697
697
|
end
|
698
698
|
|
@@ -10,43 +10,39 @@
|
|
10
10
|
module Aws::SSO
|
11
11
|
class EndpointProvider
|
12
12
|
def resolve_endpoint(parameters)
|
13
|
-
|
14
|
-
|
15
|
-
use_fips = parameters.use_fips
|
16
|
-
endpoint = parameters.endpoint
|
17
|
-
if Aws::Endpoints::Matchers.set?(endpoint)
|
18
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
13
|
+
if Aws::Endpoints::Matchers.set?(parameters.endpoint)
|
14
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
19
15
|
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
20
16
|
end
|
21
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
17
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
22
18
|
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
23
19
|
end
|
24
|
-
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
20
|
+
return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
|
25
21
|
end
|
26
|
-
if Aws::Endpoints::Matchers.set?(region)
|
27
|
-
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
28
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
22
|
+
if Aws::Endpoints::Matchers.set?(parameters.region)
|
23
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
|
24
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
29
25
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
30
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
26
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
31
27
|
end
|
32
28
|
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
33
29
|
end
|
34
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
30
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
35
31
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
|
36
32
|
if Aws::Endpoints::Matchers.string_equals?("aws-us-gov", Aws::Endpoints::Matchers.attr(partition_result, "name"))
|
37
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.amazonaws.com", headers: {}, properties: {})
|
33
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
|
38
34
|
end
|
39
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
35
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
40
36
|
end
|
41
37
|
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
42
38
|
end
|
43
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
39
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
44
40
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
45
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
41
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
46
42
|
end
|
47
43
|
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
48
44
|
end
|
49
|
-
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
45
|
+
return Aws::Endpoints::Endpoint.new(url: "https://portal.sso.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
50
46
|
end
|
51
47
|
end
|
52
48
|
raise ArgumentError, "Invalid Configuration: Missing Region"
|
data/lib/aws-sdk-sso.rb
CHANGED
@@ -7,34 +7,34 @@
|
|
7
7
|
#
|
8
8
|
# WARNING ABOUT GENERATED CODE
|
9
9
|
|
10
|
-
require 'seahorse/client/plugins/content_length
|
11
|
-
require 'aws-sdk-core/plugins/credentials_configuration
|
12
|
-
require 'aws-sdk-core/plugins/logging
|
13
|
-
require 'aws-sdk-core/plugins/param_converter
|
14
|
-
require 'aws-sdk-core/plugins/param_validator
|
15
|
-
require 'aws-sdk-core/plugins/user_agent
|
16
|
-
require 'aws-sdk-core/plugins/helpful_socket_errors
|
17
|
-
require 'aws-sdk-core/plugins/retry_errors
|
18
|
-
require 'aws-sdk-core/plugins/global_configuration
|
19
|
-
require 'aws-sdk-core/plugins/regional_endpoint
|
20
|
-
require 'aws-sdk-core/plugins/endpoint_discovery
|
21
|
-
require 'aws-sdk-core/plugins/endpoint_pattern
|
22
|
-
require 'aws-sdk-core/plugins/response_paging
|
23
|
-
require 'aws-sdk-core/plugins/stub_responses
|
24
|
-
require 'aws-sdk-core/plugins/idempotency_token
|
25
|
-
require 'aws-sdk-core/plugins/invocation_id
|
26
|
-
require 'aws-sdk-core/plugins/jsonvalue_converter
|
27
|
-
require 'aws-sdk-core/plugins/client_metrics_plugin
|
28
|
-
require 'aws-sdk-core/plugins/client_metrics_send_plugin
|
29
|
-
require 'aws-sdk-core/plugins/transfer_encoding
|
30
|
-
require 'aws-sdk-core/plugins/http_checksum
|
31
|
-
require 'aws-sdk-core/plugins/checksum_algorithm
|
32
|
-
require 'aws-sdk-core/plugins/request_compression
|
33
|
-
require 'aws-sdk-core/plugins/defaults_mode
|
34
|
-
require 'aws-sdk-core/plugins/recursion_detection
|
35
|
-
require 'aws-sdk-core/plugins/telemetry
|
36
|
-
require 'aws-sdk-core/plugins/sign
|
37
|
-
require 'aws-sdk-core/plugins/protocols/rest_json
|
10
|
+
require 'seahorse/client/plugins/content_length'
|
11
|
+
require 'aws-sdk-core/plugins/credentials_configuration'
|
12
|
+
require 'aws-sdk-core/plugins/logging'
|
13
|
+
require 'aws-sdk-core/plugins/param_converter'
|
14
|
+
require 'aws-sdk-core/plugins/param_validator'
|
15
|
+
require 'aws-sdk-core/plugins/user_agent'
|
16
|
+
require 'aws-sdk-core/plugins/helpful_socket_errors'
|
17
|
+
require 'aws-sdk-core/plugins/retry_errors'
|
18
|
+
require 'aws-sdk-core/plugins/global_configuration'
|
19
|
+
require 'aws-sdk-core/plugins/regional_endpoint'
|
20
|
+
require 'aws-sdk-core/plugins/endpoint_discovery'
|
21
|
+
require 'aws-sdk-core/plugins/endpoint_pattern'
|
22
|
+
require 'aws-sdk-core/plugins/response_paging'
|
23
|
+
require 'aws-sdk-core/plugins/stub_responses'
|
24
|
+
require 'aws-sdk-core/plugins/idempotency_token'
|
25
|
+
require 'aws-sdk-core/plugins/invocation_id'
|
26
|
+
require 'aws-sdk-core/plugins/jsonvalue_converter'
|
27
|
+
require 'aws-sdk-core/plugins/client_metrics_plugin'
|
28
|
+
require 'aws-sdk-core/plugins/client_metrics_send_plugin'
|
29
|
+
require 'aws-sdk-core/plugins/transfer_encoding'
|
30
|
+
require 'aws-sdk-core/plugins/http_checksum'
|
31
|
+
require 'aws-sdk-core/plugins/checksum_algorithm'
|
32
|
+
require 'aws-sdk-core/plugins/request_compression'
|
33
|
+
require 'aws-sdk-core/plugins/defaults_mode'
|
34
|
+
require 'aws-sdk-core/plugins/recursion_detection'
|
35
|
+
require 'aws-sdk-core/plugins/telemetry'
|
36
|
+
require 'aws-sdk-core/plugins/sign'
|
37
|
+
require 'aws-sdk-core/plugins/protocols/rest_json'
|
38
38
|
|
39
39
|
module Aws::SSOOIDC
|
40
40
|
# An API client for SSOOIDC. To construct a client, you need to configure a `:region` and `:credentials`.
|
@@ -708,6 +708,7 @@ module Aws::SSOOIDC
|
|
708
708
|
# * {Types::CreateTokenWithIAMResponse#id_token #id_token} => String
|
709
709
|
# * {Types::CreateTokenWithIAMResponse#issued_token_type #issued_token_type} => String
|
710
710
|
# * {Types::CreateTokenWithIAMResponse#scope #scope} => Array<String>
|
711
|
+
# * {Types::CreateTokenWithIAMResponse#aws_additional_details #aws_additional_details} => Types::AwsAdditionalDetails
|
711
712
|
#
|
712
713
|
#
|
713
714
|
# @example Example: Call OAuth/OIDC /token endpoint for Authorization Code grant with IAM authentication
|
@@ -727,6 +728,9 @@ module Aws::SSOOIDC
|
|
727
728
|
# resp.to_h outputs the following:
|
728
729
|
# {
|
729
730
|
# access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
|
731
|
+
# aws_additional_details: {
|
732
|
+
# identity_context: "EXAMPLEIDENTITYCONTEXT",
|
733
|
+
# },
|
730
734
|
# expires_in: 1579729529,
|
731
735
|
# id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
|
732
736
|
# issued_token_type: "urn:ietf:params:oauth:token-type:refresh_token",
|
@@ -772,6 +776,9 @@ module Aws::SSOOIDC
|
|
772
776
|
# resp.to_h outputs the following:
|
773
777
|
# {
|
774
778
|
# access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
|
779
|
+
# aws_additional_details: {
|
780
|
+
# identity_context: "EXAMPLEIDENTITYCONTEXT",
|
781
|
+
# },
|
775
782
|
# expires_in: 1579729529,
|
776
783
|
# id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsInN0czphdWRpdF9jb250ZXh0IjoiRVhBTVBMRUFVRElUQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.Xyah6qbk78qThzJ41iFU2yfGuRqqtKXHrJYwQ8L9Ip0",
|
777
784
|
# issued_token_type: "urn:ietf:params:oauth:token-type:refresh_token",
|
@@ -797,6 +804,9 @@ module Aws::SSOOIDC
|
|
797
804
|
# resp.to_h outputs the following:
|
798
805
|
# {
|
799
806
|
# access_token: "aoal-YigITUDiNX1xZwOMXM5MxOWDL0E0jg9P6_C_jKQPxS_SKCP6f0kh1Up4g7TtvQqkMnD-GJiU_S1gvug6SrggAkc0:MGYCMQD3IatVjV7jAJU91kK3PkS/SfA2wtgWzOgZWDOR7sDGN9t0phCZz5It/aes/3C1Zj0CMQCKWOgRaiz6AIhza3DSXQNMLjRKXC8F8ceCsHlgYLMZ7hZidEXAMPLEACCESSTOKEN",
|
807
|
+
# aws_additional_details: {
|
808
|
+
# identity_context: "EXAMPLEIDENTITYCONTEXT",
|
809
|
+
# },
|
800
810
|
# expires_in: 1579729529,
|
801
811
|
# id_token: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhd3M6aWRlbnRpdHlfc3RvcmVfaWQiOiJkLTMzMzMzMzMzMzMiLCJzdWIiOiI3MzA0NDhmMi1lMGExLTcwYTctYzk1NC0wMDAwMDAwMDAwMDAiLCJhd3M6aW5zdGFuY2VfYWNjb3VudCI6IjExMTExMTExMTExMSIsInN0czppZGVudGl0eV9jb250ZXh0IjoiRVhBTVBMRUlERU5USVRZQ09OVEVYVCIsImlzcyI6Imh0dHBzOi8vaWRlbnRpdHljZW50ZXIuYW1hem9uYXdzLmNvbS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmlkZW50aXR5X3N0b3JlX2FybiI6ImFybjphd3M6aWRlbnRpdHlzdG9yZTo6MTExMTExMTExMTExOmlkZW50aXR5c3RvcmUvZC0zMzMzMzMzMzMzIiwiYXVkIjoiYXJuOmF3czpzc286OjEyMzQ1Njc4OTAxMjphcHBsaWNhdGlvbi9zc29pbnMtMTExMTExMTExMTExL2FwbC0yMjIyMjIyMjIyMjIiLCJhd3M6aW5zdGFuY2VfYXJuIjoiYXJuOmF3czpzc286OjppbnN0YW5jZS9zc29pbnMtMTExMTExMTExMTExIiwiYXdzOmNyZWRlbnRpYWxfaWQiOiJfWlIyTjZhVkJqMjdGUEtheWpfcEtwVjc3QVBERl80MXB4ZXRfWWpJdUpONlVJR2RBdkpFWEFNUExFQ1JFRElEIiwiYXV0aF90aW1lIjoiMjAyMC0wMS0yMlQxMjo0NToyOVoiLCJleHAiOjE1Nzk3Mjk1MjksImlhdCI6MTU3OTcyNTkyOX0.5SYiW1kMsuUr7nna-l5tlakM0GNbMHvIM2_n0QD23jM",
|
802
812
|
# issued_token_type: "urn:ietf:params:oauth:token-type:access_token",
|
@@ -834,6 +844,7 @@ module Aws::SSOOIDC
|
|
834
844
|
# resp.issued_token_type #=> String
|
835
845
|
# resp.scope #=> Array
|
836
846
|
# resp.scope[0] #=> String
|
847
|
+
# resp.aws_additional_details.identity_context #=> String
|
837
848
|
#
|
838
849
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAM AWS API Documentation
|
839
850
|
#
|
@@ -1003,8 +1014,8 @@ module Aws::SSOOIDC
|
|
1003
1014
|
# expires_in: 1579729529,
|
1004
1015
|
# interval: 1,
|
1005
1016
|
# user_code: "makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
|
1006
|
-
# verification_uri: "https://
|
1007
|
-
# verification_uri_complete: "https://
|
1017
|
+
# verification_uri: "https://directory-alias-example.awsapps.com/start/#/device",
|
1018
|
+
# verification_uri_complete: "https://directory-alias-example.awsapps.com/start/#/device?user_code=makdfsk83yJraWQiOiJrZXktMTU2Njk2sImFsZyI6IkhTMzIn0EXAMPLEUSERCODE",
|
1008
1019
|
# }
|
1009
1020
|
#
|
1010
1021
|
# @example Request syntax with placeholder values
|
@@ -1051,7 +1062,7 @@ module Aws::SSOOIDC
|
|
1051
1062
|
tracer: tracer
|
1052
1063
|
)
|
1053
1064
|
context[:gem_name] = 'aws-sdk-core'
|
1054
|
-
context[:gem_version] = '3.
|
1065
|
+
context[:gem_version] = '3.222.2'
|
1055
1066
|
Seahorse::Client::Request.new(handlers, context)
|
1056
1067
|
end
|
1057
1068
|
|
@@ -20,6 +20,7 @@ module Aws::SSOOIDC
|
|
20
20
|
Assertion = Shapes::StringShape.new(name: 'Assertion')
|
21
21
|
AuthCode = Shapes::StringShape.new(name: 'AuthCode')
|
22
22
|
AuthorizationPendingException = Shapes::StructureShape.new(name: 'AuthorizationPendingException')
|
23
|
+
AwsAdditionalDetails = Shapes::StructureShape.new(name: 'AwsAdditionalDetails')
|
23
24
|
ClientId = Shapes::StringShape.new(name: 'ClientId')
|
24
25
|
ClientName = Shapes::StringShape.new(name: 'ClientName')
|
25
26
|
ClientSecret = Shapes::StringShape.new(name: 'ClientSecret')
|
@@ -37,6 +38,7 @@ module Aws::SSOOIDC
|
|
37
38
|
GrantType = Shapes::StringShape.new(name: 'GrantType')
|
38
39
|
GrantTypes = Shapes::ListShape.new(name: 'GrantTypes')
|
39
40
|
IdToken = Shapes::StringShape.new(name: 'IdToken')
|
41
|
+
IdentityContext = Shapes::StringShape.new(name: 'IdentityContext')
|
40
42
|
InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
|
41
43
|
IntervalInSeconds = Shapes::IntegerShape.new(name: 'IntervalInSeconds')
|
42
44
|
InvalidClientException = Shapes::StructureShape.new(name: 'InvalidClientException')
|
@@ -74,6 +76,9 @@ module Aws::SSOOIDC
|
|
74
76
|
AuthorizationPendingException.add_member(:error_description, Shapes::ShapeRef.new(shape: ErrorDescription, location_name: "error_description"))
|
75
77
|
AuthorizationPendingException.struct_class = Types::AuthorizationPendingException
|
76
78
|
|
79
|
+
AwsAdditionalDetails.add_member(:identity_context, Shapes::ShapeRef.new(shape: IdentityContext, location_name: "identityContext"))
|
80
|
+
AwsAdditionalDetails.struct_class = Types::AwsAdditionalDetails
|
81
|
+
|
77
82
|
CreateTokenRequest.add_member(:client_id, Shapes::ShapeRef.new(shape: ClientId, required: true, location_name: "clientId"))
|
78
83
|
CreateTokenRequest.add_member(:client_secret, Shapes::ShapeRef.new(shape: ClientSecret, required: true, location_name: "clientSecret"))
|
79
84
|
CreateTokenRequest.add_member(:grant_type, Shapes::ShapeRef.new(shape: GrantType, required: true, location_name: "grantType"))
|
@@ -112,6 +117,7 @@ module Aws::SSOOIDC
|
|
112
117
|
CreateTokenWithIAMResponse.add_member(:id_token, Shapes::ShapeRef.new(shape: IdToken, location_name: "idToken"))
|
113
118
|
CreateTokenWithIAMResponse.add_member(:issued_token_type, Shapes::ShapeRef.new(shape: TokenTypeURI, location_name: "issuedTokenType"))
|
114
119
|
CreateTokenWithIAMResponse.add_member(:scope, Shapes::ShapeRef.new(shape: Scopes, location_name: "scope"))
|
120
|
+
CreateTokenWithIAMResponse.add_member(:aws_additional_details, Shapes::ShapeRef.new(shape: AwsAdditionalDetails, location_name: "awsAdditionalDetails"))
|
115
121
|
CreateTokenWithIAMResponse.struct_class = Types::CreateTokenWithIAMResponse
|
116
122
|
|
117
123
|
ExpiredTokenException.add_member(:error, Shapes::ShapeRef.new(shape: Error, location_name: "error"))
|
@@ -10,43 +10,39 @@
|
|
10
10
|
module Aws::SSOOIDC
|
11
11
|
class EndpointProvider
|
12
12
|
def resolve_endpoint(parameters)
|
13
|
-
|
14
|
-
|
15
|
-
use_fips = parameters.use_fips
|
16
|
-
endpoint = parameters.endpoint
|
17
|
-
if Aws::Endpoints::Matchers.set?(endpoint)
|
18
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
13
|
+
if Aws::Endpoints::Matchers.set?(parameters.endpoint)
|
14
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
19
15
|
raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
|
20
16
|
end
|
21
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
17
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
22
18
|
raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
|
23
19
|
end
|
24
|
-
return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
|
20
|
+
return Aws::Endpoints::Endpoint.new(url: parameters.endpoint, headers: {}, properties: {})
|
25
21
|
end
|
26
|
-
if Aws::Endpoints::Matchers.set?(region)
|
27
|
-
if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
|
28
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
22
|
+
if Aws::Endpoints::Matchers.set?(parameters.region)
|
23
|
+
if (partition_result = Aws::Endpoints::Matchers.aws_partition(parameters.region))
|
24
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
29
25
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
30
|
-
return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
26
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
31
27
|
end
|
32
28
|
raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
|
33
29
|
end
|
34
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
|
30
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_fips, true)
|
35
31
|
if Aws::Endpoints::Matchers.boolean_equals?(Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"), true)
|
36
32
|
if Aws::Endpoints::Matchers.string_equals?(Aws::Endpoints::Matchers.attr(partition_result, "name"), "aws-us-gov")
|
37
|
-
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.amazonaws.com", headers: {}, properties: {})
|
33
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.amazonaws.com", headers: {}, properties: {})
|
38
34
|
end
|
39
|
-
return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
35
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc-fips.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
40
36
|
end
|
41
37
|
raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
|
42
38
|
end
|
43
|
-
if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
|
39
|
+
if Aws::Endpoints::Matchers.boolean_equals?(parameters.use_dual_stack, true)
|
44
40
|
if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
|
45
|
-
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
41
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
|
46
42
|
end
|
47
43
|
raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
|
48
44
|
end
|
49
|
-
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
45
|
+
return Aws::Endpoints::Endpoint.new(url: "https://oidc.#{parameters.region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
|
50
46
|
end
|
51
47
|
end
|
52
48
|
raise ArgumentError, "Invalid Configuration: Missing Region"
|
@@ -53,6 +53,25 @@ module Aws::SSOOIDC
|
|
53
53
|
include Aws::Structure
|
54
54
|
end
|
55
55
|
|
56
|
+
# This structure contains Amazon Web Services-specific parameter
|
57
|
+
# extensions for the token endpoint responses and includes the identity
|
58
|
+
# context.
|
59
|
+
#
|
60
|
+
# @!attribute [rw] identity_context
|
61
|
+
# STS context assertion that carries a user identifier to the Amazon
|
62
|
+
# Web Services service that it calls and can be used to obtain an
|
63
|
+
# identity-enhanced IAM role session. This value corresponds to the
|
64
|
+
# `sts:identity_context` claim in the ID token.
|
65
|
+
# @return [String]
|
66
|
+
#
|
67
|
+
# @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/AwsAdditionalDetails AWS API Documentation
|
68
|
+
#
|
69
|
+
class AwsAdditionalDetails < Struct.new(
|
70
|
+
:identity_context)
|
71
|
+
SENSITIVE = []
|
72
|
+
include Aws::Structure
|
73
|
+
end
|
74
|
+
|
56
75
|
# @!attribute [rw] client_id
|
57
76
|
# The unique identifier string for the client or application. This
|
58
77
|
# value comes from the result of the RegisterClient API.
|
@@ -356,6 +375,13 @@ module Aws::SSOOIDC
|
|
356
375
|
# token that is issued is limited to the scopes that are granted.
|
357
376
|
# @return [Array<String>]
|
358
377
|
#
|
378
|
+
# @!attribute [rw] aws_additional_details
|
379
|
+
# A structure containing information from the `idToken`. Only the
|
380
|
+
# `identityContext` is in it, which is a value extracted from the
|
381
|
+
# `idToken`. This provides direct access to identity information
|
382
|
+
# without requiring JWT parsing.
|
383
|
+
# @return [Types::AwsAdditionalDetails]
|
384
|
+
#
|
359
385
|
# @see http://docs.aws.amazon.com/goto/WebAPI/sso-oidc-2019-06-10/CreateTokenWithIAMResponse AWS API Documentation
|
360
386
|
#
|
361
387
|
class CreateTokenWithIAMResponse < Struct.new(
|
@@ -365,7 +391,8 @@ module Aws::SSOOIDC
|
|
365
391
|
:refresh_token,
|
366
392
|
:id_token,
|
367
393
|
:issued_token_type,
|
368
|
-
:scope
|
394
|
+
:scope,
|
395
|
+
:aws_additional_details)
|
369
396
|
SENSITIVE = [:access_token, :refresh_token, :id_token]
|
370
397
|
include Aws::Structure
|
371
398
|
end
|