aws-sdk-cognitoidentityprovider 1.108.0 → 1.110.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.
@@ -680,7 +680,7 @@ module Aws::CognitoIdentityProvider
680
680
  # sign in.
681
681
  #
682
682
  # If you have never used SMS text messages with Amazon Cognito or any
683
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
683
+ # other Amazon Web Services service, Amazon Simple Notification Service
684
684
  # might place your account in the SMS sandbox. In <i> <a
685
685
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
686
686
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -699,8 +699,14 @@ module Aws::CognitoIdentityProvider
699
699
  # Alternatively, you can call `AdminCreateUser` with `SUPPRESS` for the
700
700
  # `MessageAction` parameter, and Amazon Cognito won't send any email.
701
701
  #
702
- # In either case, the user will be in the `FORCE_CHANGE_PASSWORD` state
703
- # until they sign in and change their password.
702
+ # In either case, if the user has a password, they will be in the
703
+ # `FORCE_CHANGE_PASSWORD` state until they sign in and set their
704
+ # password. Your invitation message template must have the `{####}`
705
+ # password placeholder if your users have passwords. If your template
706
+ # doesn't have this placeholder, Amazon Cognito doesn't deliver the
707
+ # invitation message. In this case, you must update your message
708
+ # template and resend the password with a new `AdminCreateUser` request
709
+ # with a `MessageAction` value of `RESEND`.
704
710
  #
705
711
  # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
706
712
  # in requests for this API operation. For this operation, you must use
@@ -761,6 +767,11 @@ module Aws::CognitoIdentityProvider
761
767
  # AdminCreateUser or in the **Users** tab of the Amazon Cognito console
762
768
  # for managing your user pools.
763
769
  #
770
+ # You must also provide an email address or phone number when you expect
771
+ # the user to do passwordless sign-in with an email or SMS OTP. These
772
+ # attributes must be provided when passwordless options are the only
773
+ # available, or when you don't submit a `TemporaryPassword`.
774
+ #
764
775
  # In your call to `AdminCreateUser`, you can set the `email_verified`
765
776
  # attribute to `True`, and you can set the `phone_number_verified`
766
777
  # attribute to `True`. You can also do this by calling
@@ -804,19 +815,32 @@ module Aws::CognitoIdentityProvider
804
815
  # The user's temporary password. This password must conform to the
805
816
  # password policy that you specified when you created the user pool.
806
817
  #
818
+ # The exception to the requirement for a password is when your user pool
819
+ # supports passwordless sign-in with email or SMS OTPs. To create a user
820
+ # with no password, omit this parameter or submit a blank value. You can
821
+ # only create a passwordless user when passwordless sign-in is
822
+ # available. See [the SignInPolicyType][1] property of
823
+ # [CreateUserPool][2] and [UpdateUserPool][3].
824
+ #
807
825
  # The temporary password is valid only once. To complete the Admin
808
826
  # Create User flow, the user must enter the temporary password in the
809
827
  # sign-in page, along with a new password to be used in all future
810
828
  # sign-ins.
811
829
  #
812
- # This parameter isn't required. If you don't specify a value, Amazon
813
- # Cognito generates one for you.
830
+ # If you don't specify a value, Amazon Cognito generates one for you
831
+ # unless you have passwordless options active for your user pool.
814
832
  #
815
833
  # The temporary password can only be used until the user account
816
834
  # expiration limit that you set for your user pool. To reset the account
817
835
  # after that time limit, you must call `AdminCreateUser` again and
818
836
  # specify `RESEND` for the `MessageAction` parameter.
819
837
  #
838
+ #
839
+ #
840
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignInPolicyType.html
841
+ # [2]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html
842
+ # [3]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html
843
+ #
820
844
  # @option params [Boolean] :force_alias_creation
821
845
  # This parameter is used only if the `phone_number_verified` or
822
846
  # `email_verified` attribute is set to `True`. Otherwise, it is ignored.
@@ -1390,7 +1414,8 @@ module Aws::CognitoIdentityProvider
1390
1414
  end
1391
1415
 
1392
1416
  # Gets the specified user by user name in a user pool as an
1393
- # administrator. Works on any user.
1417
+ # administrator. Works on any user. This operation contributes to your
1418
+ # monthly active user (MAU) count for the purpose of billing.
1394
1419
  #
1395
1420
  # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
1396
1421
  # in requests for this API operation. For this operation, you must use
@@ -1478,7 +1503,7 @@ module Aws::CognitoIdentityProvider
1478
1503
  # sign in.
1479
1504
  #
1480
1505
  # If you have never used SMS text messages with Amazon Cognito or any
1481
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
1506
+ # other Amazon Web Services service, Amazon Simple Notification Service
1482
1507
  # might place your account in the SMS sandbox. In <i> <a
1483
1508
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
1484
1509
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -1516,44 +1541,76 @@ module Aws::CognitoIdentityProvider
1516
1541
  # The app client ID.
1517
1542
  #
1518
1543
  # @option params [required, String] :auth_flow
1519
- # The authentication flow for this call to run. The API action will
1520
- # depend on this value. For example:
1544
+ # The authentication flow that you want to initiate. The
1545
+ # `AuthParameters` that you must submit are linked to the flow that you
1546
+ # submit. For example:
1521
1547
  #
1522
- # * `REFRESH_TOKEN_AUTH` will take in a valid refresh token and return
1523
- # new tokens.
1548
+ # * `USER_AUTH`: Request a preferred authentication type or review
1549
+ # available authentication types. From the offered authentication
1550
+ # types, select one in a challenge response and then authenticate with
1551
+ # that method in an additional challenge response.
1524
1552
  #
1525
- # * `USER_SRP_AUTH` will take in `USERNAME` and `SRP_A` and return the
1526
- # Secure Remote Password (SRP) protocol variables to be used for next
1527
- # challenge execution.
1553
+ # * `REFRESH_TOKEN_AUTH`: Receive new ID and access tokens when you pass
1554
+ # a `REFRESH_TOKEN` parameter with a valid refresh token as the value.
1528
1555
  #
1529
- # * `ADMIN_USER_PASSWORD_AUTH` will take in `USERNAME` and `PASSWORD`
1530
- # and return the next challenge or tokens.
1556
+ # * `USER_SRP_AUTH`: Receive secure remote password (SRP) variables for
1557
+ # the next challenge, `PASSWORD_VERIFIER`, when you pass `USERNAME`
1558
+ # and `SRP_A` parameters..
1531
1559
  #
1532
- # Valid values include:
1560
+ # * `ADMIN_USER_PASSWORD_AUTH`: Receive new tokens or the next
1561
+ # challenge, for example `SOFTWARE_TOKEN_MFA`, when you pass
1562
+ # `USERNAME` and `PASSWORD` parameters.
1563
+ #
1564
+ # Valid values include the following:
1565
+ #
1566
+ # USER\_AUTH
1567
+ #
1568
+ # : The entry point for sign-in with passwords, one-time passwords,
1569
+ # biometric devices, and security keys.
1570
+ #
1571
+ # USER\_SRP\_AUTH
1572
+ #
1573
+ # : Username-password authentication with the Secure Remote Password
1574
+ # (SRP) protocol. For more information, see [Use SRP password
1575
+ # verification in custom authentication flow][1].
1576
+ #
1577
+ # REFRESH\_TOKEN\_AUTH and REFRESH\_TOKEN
1578
+ #
1579
+ # : Provide a valid refresh token and receive new ID and access tokens.
1580
+ # For more information, see [Using the refresh token][2].
1581
+ #
1582
+ # CUSTOM\_AUTH
1533
1583
  #
1534
- # * `USER_SRP_AUTH`: Authentication flow for the Secure Remote Password
1535
- # (SRP) protocol.
1584
+ # : Custom authentication with Lambda triggers. For more information,
1585
+ # see [Custom authentication challenge Lambda triggers][3].
1536
1586
  #
1537
- # * `REFRESH_TOKEN_AUTH`/`REFRESH_TOKEN`: Authentication flow for
1538
- # refreshing the access token and ID token by supplying a valid
1539
- # refresh token.
1587
+ # ADMIN\_USER\_PASSWORD\_AUTH
1540
1588
  #
1541
- # * `CUSTOM_AUTH`: Custom authentication flow.
1589
+ # : Username-password authentication with the password sent directly in
1590
+ # the request. For more information, see [Admin authentication
1591
+ # flow][4].
1542
1592
  #
1543
- # * `ADMIN_NO_SRP_AUTH`: Non-SRP authentication flow; you can pass in
1544
- # the USERNAME and PASSWORD directly if the flow is enabled for
1545
- # calling the app client.
1593
+ # `USER_PASSWORD_AUTH` is a flow type of [InitiateAuth][5] and isn't
1594
+ # valid for AdminInitiateAuth.
1546
1595
  #
1547
- # * `ADMIN_USER_PASSWORD_AUTH`: Admin-based user password
1548
- # authentication. This replaces the `ADMIN_NO_SRP_AUTH` authentication
1549
- # flow. In this flow, Amazon Cognito receives the password in the
1550
- # request instead of using the SRP process to verify passwords.
1596
+ #
1597
+ #
1598
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#Using-SRP-password-verification-in-custom-authentication-flow
1599
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html
1600
+ # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html
1601
+ # [4]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#Built-in-authentication-flow-and-challenges
1602
+ # [5]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html
1551
1603
  #
1552
1604
  # @option params [Hash<String,String>] :auth_parameters
1553
1605
  # The authentication parameters. These are inputs corresponding to the
1554
1606
  # `AuthFlow` that you're invoking. The required values depend on the
1555
1607
  # value of `AuthFlow`:
1556
1608
  #
1609
+ # * For `USER_AUTH`: `USERNAME` (required), `PREFERRED_CHALLENGE`. If
1610
+ # you don't provide a value for `PREFERRED_CHALLENGE`, Amazon Cognito
1611
+ # responds with the `AvailableChallenges` parameter that specifies the
1612
+ # available sign-in methods.
1613
+ #
1557
1614
  # * For `USER_SRP_AUTH`: `USERNAME` (required), `SRP_A` (required),
1558
1615
  # `SECRET_HASH` (required if the app client is configured with a
1559
1616
  # client secret), `DEVICE_KEY`.
@@ -1618,6 +1675,10 @@ module Aws::CognitoIdentityProvider
1618
1675
  #
1619
1676
  # * Define auth challenge
1620
1677
  #
1678
+ # * Custom email sender
1679
+ #
1680
+ # * Custom SMS sender
1681
+ #
1621
1682
  # For more information, see [ Customizing user pool Workflows with
1622
1683
  # Lambda Triggers][1] in the *Amazon Cognito Developer Guide*.
1623
1684
  #
@@ -1651,6 +1712,11 @@ module Aws::CognitoIdentityProvider
1651
1712
  # that your app generates and passes to Amazon Cognito when it makes API
1652
1713
  # requests.
1653
1714
  #
1715
+ # @option params [String] :session
1716
+ # The optional session ID from a `ConfirmSignUp` API request. You can
1717
+ # sign in a user directly from the sign-up process with the `USER_AUTH`
1718
+ # authentication flow.
1719
+ #
1654
1720
  # @return [Types::AdminInitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1655
1721
  #
1656
1722
  # * {Types::AdminInitiateAuthResponse#challenge_name #challenge_name} => String
@@ -1663,7 +1729,7 @@ module Aws::CognitoIdentityProvider
1663
1729
  # resp = client.admin_initiate_auth({
1664
1730
  # user_pool_id: "UserPoolIdType", # required
1665
1731
  # client_id: "ClientIdType", # required
1666
- # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH, USER_PASSWORD_AUTH, ADMIN_USER_PASSWORD_AUTH
1732
+ # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH, USER_PASSWORD_AUTH, ADMIN_USER_PASSWORD_AUTH, USER_AUTH
1667
1733
  # auth_parameters: {
1668
1734
  # "StringType" => "StringType",
1669
1735
  # },
@@ -1685,11 +1751,12 @@ module Aws::CognitoIdentityProvider
1685
1751
  # ],
1686
1752
  # encoded_data: "StringType",
1687
1753
  # },
1754
+ # session: "SessionType",
1688
1755
  # })
1689
1756
  #
1690
1757
  # @example Response structure
1691
1758
  #
1692
- # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
1759
+ # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "SELECT_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED", "SMS_OTP", "PASSWORD", "WEB_AUTHN", "PASSWORD_SRP"
1693
1760
  # resp.session #=> String
1694
1761
  # resp.challenge_parameters #=> Hash
1695
1762
  # resp.challenge_parameters["StringType"] #=> String
@@ -1787,23 +1854,22 @@ module Aws::CognitoIdentityProvider
1787
1854
  # `ProviderAttributeValue` for the user must be the same value as the
1788
1855
  # `id`, `sub`, or `user_id` value found in the social IdP token.
1789
1856
  #
1790
- #
1791
- #
1792
- # For OIDC, the `ProviderAttributeName` can be any value that matches a
1857
+ # For OIDC, the `ProviderAttributeName` can be any mapped value from a
1793
1858
  # claim in the ID token, or that your app retrieves from the `userInfo`
1794
- # endpoint. You must map the claim to a user pool attribute in your IdP
1795
- # configuration, and set the user pool attribute name as the value of
1796
- # `ProviderAttributeName` in your `AdminLinkProviderForUser` request.
1859
+ # endpoint. For SAML, the `ProviderAttributeName` can be any mapped
1860
+ # value from a claim in the SAML assertion.
1861
+ #
1862
+ # The following additional considerations apply to `SourceUser` for OIDC
1863
+ # and SAML providers.
1797
1864
  #
1798
- # For SAML, the `ProviderAttributeName` can be any value that matches a
1799
- # claim in the SAML assertion. To link SAML users based on the subject
1800
- # of the SAML assertion, map the subject to a claim through the SAML IdP
1801
- # and set that claim name as the value of `ProviderAttributeName` in
1802
- # your `AdminLinkProviderForUser` request.
1865
+ # * You must map the claim to a user pool attribute in your IdP
1866
+ # configuration, and set the user pool attribute name as the value of
1867
+ # `ProviderAttributeName` in your `AdminLinkProviderForUser` request.
1868
+ # For example, `email`.
1803
1869
  #
1804
- # For both OIDC and SAML users, when you set `ProviderAttributeName` to
1805
- # `Cognito_Subject`, Amazon Cognito will automatically parse the default
1806
- # unique identifier found in the subject from the IdP token.
1870
+ # * When you set `ProviderAttributeName` to `Cognito_Subject`, Amazon
1871
+ # Cognito will automatically parse the default unique identifier found
1872
+ # in the subject from the IdP token.
1807
1873
  #
1808
1874
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1809
1875
  #
@@ -1832,7 +1898,7 @@ module Aws::CognitoIdentityProvider
1832
1898
  req.send_request(options)
1833
1899
  end
1834
1900
 
1835
- # Lists devices, as an administrator.
1901
+ # Lists a user's registered devices.
1836
1902
  #
1837
1903
  # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
1838
1904
  # in requests for this API operation. For this operation, you must use
@@ -2139,7 +2205,7 @@ module Aws::CognitoIdentityProvider
2139
2205
  # sign in.
2140
2206
  #
2141
2207
  # If you have never used SMS text messages with Amazon Cognito or any
2142
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
2208
+ # other Amazon Web Services service, Amazon Simple Notification Service
2143
2209
  # might place your account in the SMS sandbox. In <i> <a
2144
2210
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
2145
2211
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -2270,7 +2336,7 @@ module Aws::CognitoIdentityProvider
2270
2336
  # sign in.
2271
2337
  #
2272
2338
  # If you have never used SMS text messages with Amazon Cognito or any
2273
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
2339
+ # other Amazon Web Services service, Amazon Simple Notification Service
2274
2340
  # might place your account in the SMS sandbox. In <i> <a
2275
2341
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
2276
2342
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -2322,17 +2388,58 @@ module Aws::CognitoIdentityProvider
2322
2388
  # challenge-response parameters.
2323
2389
  #
2324
2390
  # You must provide a SECRET\_HASH parameter in all challenge responses
2325
- # to an app client that has a client secret.
2391
+ # to an app client that has a client secret. Include a `DEVICE_KEY` for
2392
+ # device authentication.
2326
2393
  #
2327
- # SMS\_MFA
2394
+ # SELECT\_CHALLENGE
2395
+ #
2396
+ # : `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
2397
+ # "USERNAME": "[username]", "ANSWER": "[Challenge name]"}`
2398
+ #
2399
+ # Available challenges are `PASSWORD`, `PASSWORD_SRP`, `EMAIL_OTP`,
2400
+ # `SMS_OTP`, and `WEB_AUTHN`.
2328
2401
  #
2329
- # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": \{"SMS_MFA_CODE":
2330
- # "[code]", "USERNAME": "[username]"\}`
2402
+ # Complete authentication in the `SELECT_CHALLENGE` response for
2403
+ # `PASSWORD`, `PASSWORD_SRP`, and `WEB_AUTHN`:
2404
+ #
2405
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
2406
+ # "ANSWER": "WEB_AUTHN", "USERNAME": "[username]", "CREDENTIAL":
2407
+ # "[AuthenticationResponseJSON]"}`
2408
+ #
2409
+ # See [ AuthenticationResponseJSON][1].
2410
+ #
2411
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
2412
+ # "ANSWER": "PASSWORD", "USERNAME": "[username]", "PASSWORD":
2413
+ # "[password]"}`
2414
+ #
2415
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
2416
+ # "ANSWER": "PASSWORD_SRP", "USERNAME": "[username]", "SRP_A":
2417
+ # "[SRP_A]"}`
2418
+ #
2419
+ # For `SMS_OTP` and `EMAIL_OTP`, respond with the username and answer.
2420
+ # Your user pool will send a code for the user to submit in the next
2421
+ # challenge response.
2422
+ #
2423
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
2424
+ # "ANSWER": "SMS_OTP", "USERNAME": "[username]"}`
2425
+ #
2426
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
2427
+ # "ANSWER": "EMAIL_OTP", "USERNAME": "[username]"}`
2428
+ #
2429
+ # SMS\_OTP
2430
+ #
2431
+ # : `"ChallengeName": "SMS_OTP", "ChallengeResponses": {"SMS_OTP_CODE":
2432
+ # "[code]", "USERNAME": "[username]"}`
2331
2433
  #
2332
2434
  # EMAIL\_OTP
2333
2435
  #
2334
2436
  # : `"ChallengeName": "EMAIL_OTP", "ChallengeResponses":
2335
- # \{"EMAIL_OTP_CODE": "[code]", "USERNAME": "[username]"\}`
2437
+ # {"EMAIL_OTP_CODE": "[code]", "USERNAME": "[username]"}`
2438
+ #
2439
+ # SMS\_MFA
2440
+ #
2441
+ # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE":
2442
+ # "[code]", "USERNAME": "[username]"}`
2336
2443
  #
2337
2444
  # PASSWORD\_VERIFIER
2338
2445
  #
@@ -2342,23 +2449,23 @@ module Aws::CognitoIdentityProvider
2342
2449
  # pool returns a `NotAuthorizedException` error.
2343
2450
  #
2344
2451
  # `"ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses":
2345
- # \{"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]",
2452
+ # {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]",
2346
2453
  # "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP":
2347
- # [timestamp], "USERNAME": "[username]"\}`
2454
+ # [timestamp], "USERNAME": "[username]"}`
2348
2455
  #
2349
2456
  # Add `"DEVICE_KEY"` when you sign in with a remembered device.
2350
2457
  #
2351
2458
  # CUSTOM\_CHALLENGE
2352
2459
  #
2353
2460
  # : `"ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses":
2354
- # \{"USERNAME": "[username]", "ANSWER": "[challenge_answer]"\}`
2461
+ # {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}`
2355
2462
  #
2356
2463
  # Add `"DEVICE_KEY"` when you sign in with a remembered device.
2357
2464
  #
2358
2465
  # NEW\_PASSWORD\_REQUIRED
2359
2466
  #
2360
2467
  # : `"ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses":
2361
- # \{"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"\}`
2468
+ # {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}`
2362
2469
  #
2363
2470
  # To set any required attributes that `InitiateAuth` returned in an
2364
2471
  # `requiredAttributes` parameter, add
@@ -2378,42 +2485,43 @@ module Aws::CognitoIdentityProvider
2378
2485
  # SOFTWARE\_TOKEN\_MFA
2379
2486
  #
2380
2487
  # : `"ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses":
2381
- # \{"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE":
2382
- # [authenticator_code]\}`
2488
+ # {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE":
2489
+ # [authenticator_code]}`
2383
2490
  #
2384
2491
  # DEVICE\_SRP\_AUTH
2385
2492
  #
2386
2493
  # : `"ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses":
2387
- # \{"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A":
2388
- # "[srp_a]"\}`
2494
+ # {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A":
2495
+ # "[srp_a]"}`
2389
2496
  #
2390
2497
  # DEVICE\_PASSWORD\_VERIFIER
2391
2498
  #
2392
2499
  # : `"ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses":
2393
- # \{"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE":
2500
+ # {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE":
2394
2501
  # "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK":
2395
2502
  # "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME":
2396
- # "[username]"\}`
2503
+ # "[username]"}`
2397
2504
  #
2398
2505
  # MFA\_SETUP
2399
2506
  #
2400
- # : `"ChallengeName": "MFA_SETUP", "ChallengeResponses": \{"USERNAME":
2401
- # "[username]"\}, "SESSION": "[Session ID from VerifySoftwareToken]"`
2507
+ # : `"ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME":
2508
+ # "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"`
2402
2509
  #
2403
2510
  # SELECT\_MFA\_TYPE
2404
2511
  #
2405
2512
  # : `"ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses":
2406
- # \{"USERNAME": "[username]", "ANSWER": "[SMS_MFA or
2407
- # SOFTWARE_TOKEN_MFA]"\}`
2513
+ # {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or
2514
+ # SOFTWARE_TOKEN_MFA]"}`
2408
2515
  #
2409
2516
  # For more information about `SECRET_HASH`, see [Computing secret hash
2410
- # values][1]. For information about `DEVICE_KEY`, see [Working with user
2411
- # devices in your user pool][2].
2517
+ # values][2]. For information about `DEVICE_KEY`, see [Working with user
2518
+ # devices in your user pool][3].
2412
2519
  #
2413
2520
  #
2414
2521
  #
2415
- # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#cognito-user-pools-computing-secret-hash
2416
- # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html
2522
+ # [1]: https://www.w3.org/TR/webauthn-3/#dictdef-authenticationresponsejson
2523
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#cognito-user-pools-computing-secret-hash
2524
+ # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html
2417
2525
  #
2418
2526
  # @option params [String] :session
2419
2527
  # The session that should be passed both ways in challenge-response
@@ -2500,7 +2608,7 @@ module Aws::CognitoIdentityProvider
2500
2608
  # resp = client.admin_respond_to_auth_challenge({
2501
2609
  # user_pool_id: "UserPoolIdType", # required
2502
2610
  # client_id: "ClientIdType", # required
2503
- # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, EMAIL_OTP, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
2611
+ # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, EMAIL_OTP, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, SELECT_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED, SMS_OTP, PASSWORD, WEB_AUTHN, PASSWORD_SRP
2504
2612
  # challenge_responses: {
2505
2613
  # "StringType" => "StringType",
2506
2614
  # },
@@ -2527,7 +2635,7 @@ module Aws::CognitoIdentityProvider
2527
2635
  #
2528
2636
  # @example Response structure
2529
2637
  #
2530
- # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
2638
+ # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "SELECT_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED", "SMS_OTP", "PASSWORD", "WEB_AUTHN", "PASSWORD_SRP"
2531
2639
  # resp.session #=> String
2532
2640
  # resp.challenge_parameters #=> Hash
2533
2641
  # resp.challenge_parameters["StringType"] #=> String
@@ -2909,7 +3017,7 @@ module Aws::CognitoIdentityProvider
2909
3017
  # sign in.
2910
3018
  #
2911
3019
  # If you have never used SMS text messages with Amazon Cognito or any
2912
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
3020
+ # other Amazon Web Services service, Amazon Simple Notification Service
2913
3021
  # might place your account in the SMS sandbox. In <i> <a
2914
3022
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
2915
3023
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -2976,12 +3084,13 @@ module Aws::CognitoIdentityProvider
2976
3084
  # in and receive messages with the original attribute value until they
2977
3085
  # verify the new value.
2978
3086
  #
2979
- # To update the value of an attribute that requires verification in the
2980
- # same API request, include the `email_verified` or
2981
- # `phone_number_verified` attribute, with a value of `true`. If you set
2982
- # the `email_verified` or `phone_number_verified` value for an `email`
2983
- # or `phone_number` attribute that requires verification to `true`,
2984
- # Amazon Cognito doesn’t send a verification message to your user.
3087
+ # To skip the verification message and update the value of an attribute
3088
+ # that requires verification in the same API request, include the
3089
+ # `email_verified` or `phone_number_verified` attribute, with a value of
3090
+ # `true`. If you set the `email_verified` or `phone_number_verified`
3091
+ # value for an `email` or `phone_number` attribute that requires
3092
+ # verification to `true`, Amazon Cognito doesn’t send a verification
3093
+ # message to your user.
2985
3094
  #
2986
3095
  # @option params [Hash<String,String>] :client_metadata
2987
3096
  # A map of custom key-value pairs that you can provide as input for any
@@ -3209,8 +3318,10 @@ module Aws::CognitoIdentityProvider
3209
3318
  #
3210
3319
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html
3211
3320
  #
3212
- # @option params [required, String] :previous_password
3213
- # The old password.
3321
+ # @option params [String] :previous_password
3322
+ # The user's previous password. Required if the user has a password. If
3323
+ # the user has no password and only signs in with passwordless
3324
+ # authentication options, you can omit this parameter.
3214
3325
  #
3215
3326
  # @option params [required, String] :proposed_password
3216
3327
  # The new password.
@@ -3224,7 +3335,7 @@ module Aws::CognitoIdentityProvider
3224
3335
  # @example Request syntax with placeholder values
3225
3336
  #
3226
3337
  # resp = client.change_password({
3227
- # previous_password: "PasswordType", # required
3338
+ # previous_password: "PasswordType",
3228
3339
  # proposed_password: "PasswordType", # required
3229
3340
  # access_token: "TokenModelType", # required
3230
3341
  # })
@@ -3238,6 +3349,54 @@ module Aws::CognitoIdentityProvider
3238
3349
  req.send_request(options)
3239
3350
  end
3240
3351
 
3352
+ # Completes registration of a passkey authenticator for the current
3353
+ # user. Your application provides data from a successful registration
3354
+ # request with the data from the output of a [
3355
+ # StartWebAuthnRegistration][1].
3356
+ #
3357
+ # Authorize this action with a signed-in user's access token. It must
3358
+ # include the scope `aws.cognito.signin.user.admin`.
3359
+ #
3360
+ #
3361
+ #
3362
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_StartWebAuthnRegistration.html
3363
+ #
3364
+ # @option params [required, String] :access_token
3365
+ # A valid access token that Amazon Cognito issued to the user whose
3366
+ # passkey registration you want to verify.
3367
+ #
3368
+ # @option params [required, Hash,Array,String,Numeric,Boolean] :credential
3369
+ # A [RegistrationResponseJSON][1] public-key credential response from
3370
+ # the user's passkey provider.
3371
+ #
3372
+ # Document type used to carry open content
3373
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
3374
+ # serialized using the same format as its surroundings and requires no
3375
+ # additional encoding or escaping.
3376
+ #
3377
+ #
3378
+ #
3379
+ # [1]: https://www.w3.org/TR/webauthn-3/#dictdef-registrationresponsejson
3380
+ #
3381
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3382
+ #
3383
+ # @example Request syntax with placeholder values
3384
+ #
3385
+ # resp = client.complete_web_authn_registration({
3386
+ # access_token: "TokenModelType", # required
3387
+ # credential: { # required
3388
+ # },
3389
+ # })
3390
+ #
3391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CompleteWebAuthnRegistration AWS API Documentation
3392
+ #
3393
+ # @overload complete_web_authn_registration(params = {})
3394
+ # @param [Hash] params ({})
3395
+ def complete_web_authn_registration(params = {}, options = {})
3396
+ req = build_request(:complete_web_authn_registration, params)
3397
+ req.send_request(options)
3398
+ end
3399
+
3241
3400
  # Confirms tracking of the device. This API call is the call that begins
3242
3401
  # device tracking. For more information about device authentication, see
3243
3402
  # [Working with user devices in your user pool][1].
@@ -3534,7 +3693,14 @@ module Aws::CognitoIdentityProvider
3534
3693
  #
3535
3694
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html
3536
3695
  #
3537
- # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3696
+ # @option params [String] :session
3697
+ # The optional session ID from a `SignUp` API request. You can sign in a
3698
+ # user directly from the sign-up process with the `USER_AUTH`
3699
+ # authentication flow.
3700
+ #
3701
+ # @return [Types::ConfirmSignUpResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3702
+ #
3703
+ # * {Types::ConfirmSignUpResponse#session #session} => String
3538
3704
  #
3539
3705
  # @example Request syntax with placeholder values
3540
3706
  #
@@ -3554,8 +3720,13 @@ module Aws::CognitoIdentityProvider
3554
3720
  # client_metadata: {
3555
3721
  # "StringType" => "StringType",
3556
3722
  # },
3723
+ # session: "SessionType",
3557
3724
  # })
3558
3725
  #
3726
+ # @example Response structure
3727
+ #
3728
+ # resp.session #=> String
3729
+ #
3559
3730
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ConfirmSignUp AWS API Documentation
3560
3731
  #
3561
3732
  # @overload confirm_sign_up(params = {})
@@ -3692,7 +3863,7 @@ module Aws::CognitoIdentityProvider
3692
3863
  # discover endpoint URLs from `oidc_issuer`: `attributes_url`,
3693
3864
  # `authorize_url`, `jwks_uri`, `token_url`.
3694
3865
  #
3695
- # Create or update request: `"ProviderDetails": \{
3866
+ # Create or update request: `"ProviderDetails": {
3696
3867
  # "attributes_request_method": "GET", "attributes_url":
3697
3868
  # "https://auth.example.com/userInfo", "authorize_scopes": "openid
3698
3869
  # profile email", "authorize_url":
@@ -3700,9 +3871,9 @@ module Aws::CognitoIdentityProvider
3700
3871
  # "1example23456789", "client_secret": "provider-app-client-secret",
3701
3872
  # "jwks_uri": "https://auth.example.com/.well-known/jwks.json",
3702
3873
  # "oidc_issuer": "https://auth.example.com", "token_url":
3703
- # "https://example.com/token" \}`
3874
+ # "https://example.com/token" }`
3704
3875
  #
3705
- # Describe response: `"ProviderDetails": \{
3876
+ # Describe response: `"ProviderDetails": {
3706
3877
  # "attributes_request_method": "GET", "attributes_url":
3707
3878
  # "https://auth.example.com/userInfo",
3708
3879
  # "attributes_url_add_attributes": "false", "authorize_scopes":
@@ -3711,55 +3882,55 @@ module Aws::CognitoIdentityProvider
3711
3882
  # "1example23456789", "client_secret": "provider-app-client-secret",
3712
3883
  # "jwks_uri": "https://auth.example.com/.well-known/jwks.json",
3713
3884
  # "oidc_issuer": "https://auth.example.com", "token_url":
3714
- # "https://example.com/token" \}`
3885
+ # "https://example.com/token" }`
3715
3886
  #
3716
3887
  # SAML
3717
3888
  #
3718
- # : Create or update request with Metadata URL: `"ProviderDetails": \{
3889
+ # : Create or update request with Metadata URL: `"ProviderDetails": {
3719
3890
  # "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" :
3720
3891
  # "true", "MetadataURL": "https://auth.example.com/sso/saml/metadata",
3721
- # "RequestSigningAlgorithm": "rsa-sha256" \}`
3892
+ # "RequestSigningAlgorithm": "rsa-sha256" }`
3722
3893
  #
3723
- # Create or update request with Metadata file: `"ProviderDetails": \{
3894
+ # Create or update request with Metadata file: `"ProviderDetails": {
3724
3895
  # "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" :
3725
3896
  # "true", "MetadataFile": "[metadata XML]", "RequestSigningAlgorithm":
3726
- # "rsa-sha256" \}`
3897
+ # "rsa-sha256" }`
3727
3898
  #
3728
3899
  # The value of `MetadataFile` must be the plaintext metadata document
3729
3900
  # with all quote (") characters escaped by backslashes.
3730
3901
  #
3731
- # Describe response: `"ProviderDetails": \{ "IDPInit": "true",
3902
+ # Describe response: `"ProviderDetails": { "IDPInit": "true",
3732
3903
  # "IDPSignout": "true", "EncryptedResponses" : "true",
3733
3904
  # "ActiveEncryptionCertificate": "[certificate]", "MetadataURL":
3734
3905
  # "https://auth.example.com/sso/saml/metadata",
3735
3906
  # "RequestSigningAlgorithm": "rsa-sha256", "SLORedirectBindingURI":
3736
3907
  # "https://auth.example.com/slo/saml", "SSORedirectBindingURI":
3737
- # "https://auth.example.com/sso/saml" \}`
3908
+ # "https://auth.example.com/sso/saml" }`
3738
3909
  #
3739
3910
  # LoginWithAmazon
3740
3911
  #
3741
- # : Create or update request: `"ProviderDetails": \{ "authorize_scopes":
3912
+ # : Create or update request: `"ProviderDetails": { "authorize_scopes":
3742
3913
  # "profile postal_code", "client_id":
3743
3914
  # "amzn1.application-oa2-client.1example23456789", "client_secret":
3744
3915
  # "provider-app-client-secret"`
3745
3916
  #
3746
- # Describe response: `"ProviderDetails": \{ "attributes_url":
3917
+ # Describe response: `"ProviderDetails": { "attributes_url":
3747
3918
  # "https://api.amazon.com/user/profile",
3748
3919
  # "attributes_url_add_attributes": "false", "authorize_scopes":
3749
3920
  # "profile postal_code", "authorize_url":
3750
3921
  # "https://www.amazon.com/ap/oa", "client_id":
3751
3922
  # "amzn1.application-oa2-client.1example23456789", "client_secret":
3752
3923
  # "provider-app-client-secret", "token_request_method": "POST",
3753
- # "token_url": "https://api.amazon.com/auth/o2/token" \}`
3924
+ # "token_url": "https://api.amazon.com/auth/o2/token" }`
3754
3925
  #
3755
3926
  # Google
3756
3927
  #
3757
- # : Create or update request: `"ProviderDetails": \{ "authorize_scopes":
3928
+ # : Create or update request: `"ProviderDetails": { "authorize_scopes":
3758
3929
  # "email profile openid", "client_id":
3759
3930
  # "1example23456789.apps.googleusercontent.com", "client_secret":
3760
- # "provider-app-client-secret" \}`
3931
+ # "provider-app-client-secret" }`
3761
3932
  #
3762
- # Describe response: `"ProviderDetails": \{ "attributes_url":
3933
+ # Describe response: `"ProviderDetails": { "attributes_url":
3763
3934
  # "https://people.googleapis.com/v1/people/me?personFields=",
3764
3935
  # "attributes_url_add_attributes": "true", "authorize_scopes": "email
3765
3936
  # profile openid", "authorize_url":
@@ -3767,37 +3938,36 @@ module Aws::CognitoIdentityProvider
3767
3938
  # "1example23456789.apps.googleusercontent.com", "client_secret":
3768
3939
  # "provider-app-client-secret", "oidc_issuer":
3769
3940
  # "https://accounts.google.com", "token_request_method": "POST",
3770
- # "token_url": "https://www.googleapis.com/oauth2/v4/token" \}`
3941
+ # "token_url": "https://www.googleapis.com/oauth2/v4/token" }`
3771
3942
  #
3772
3943
  # SignInWithApple
3773
3944
  #
3774
- # : Create or update request: `"ProviderDetails": \{ "authorize_scopes":
3945
+ # : Create or update request: `"ProviderDetails": { "authorize_scopes":
3775
3946
  # "email name", "client_id": "com.example.cognito", "private_key":
3776
- # "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" \}`
3947
+ # "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" }`
3777
3948
  #
3778
- # Describe response: `"ProviderDetails": \{
3949
+ # Describe response: `"ProviderDetails": {
3779
3950
  # "attributes_url_add_attributes": "false", "authorize_scopes": "email
3780
3951
  # name", "authorize_url": "https://appleid.apple.com/auth/authorize",
3781
3952
  # "client_id": "com.example.cognito", "key_id": "1EXAMPLE",
3782
3953
  # "oidc_issuer": "https://appleid.apple.com", "team_id": "2EXAMPLE",
3783
3954
  # "token_request_method": "POST", "token_url":
3784
- # "https://appleid.apple.com/auth/token" \}`
3955
+ # "https://appleid.apple.com/auth/token" }`
3785
3956
  #
3786
3957
  # Facebook
3787
3958
  #
3788
- # : Create or update request: `"ProviderDetails": \{ "api_version":
3959
+ # : Create or update request: `"ProviderDetails": { "api_version":
3789
3960
  # "v17.0", "authorize_scopes": "public_profile, email", "client_id":
3790
- # "1example23456789", "client_secret": "provider-app-client-secret"
3791
- # \}`
3961
+ # "1example23456789", "client_secret": "provider-app-client-secret" }`
3792
3962
  #
3793
- # Describe response: `"ProviderDetails": \{ "api_version": "v17.0",
3963
+ # Describe response: `"ProviderDetails": { "api_version": "v17.0",
3794
3964
  # "attributes_url": "https://graph.facebook.com/v17.0/me?fields=",
3795
3965
  # "attributes_url_add_attributes": "true", "authorize_scopes":
3796
3966
  # "public_profile, email", "authorize_url":
3797
3967
  # "https://www.facebook.com/v17.0/dialog/oauth", "client_id":
3798
3968
  # "1example23456789", "client_secret": "provider-app-client-secret",
3799
3969
  # "token_request_method": "GET", "token_url":
3800
- # "https://graph.facebook.com/v17.0/oauth/access_token" \}`
3970
+ # "https://graph.facebook.com/v17.0/oauth/access_token" }`
3801
3971
  #
3802
3972
  # @option params [Hash<String,String>] :attribute_mapping
3803
3973
  # A mapping of IdP attributes to standard and custom user pool
@@ -3848,6 +4018,126 @@ module Aws::CognitoIdentityProvider
3848
4018
  req.send_request(options)
3849
4019
  end
3850
4020
 
4021
+ # Creates a new set of branding settings for a user pool style and
4022
+ # associates it with an app client. This operation is the programmatic
4023
+ # option for the creation of a new style in the branding designer.
4024
+ #
4025
+ # Provides values for UI customization in a `Settings` JSON object and
4026
+ # image files in an `Assets` array. To send the JSON object `Document`
4027
+ # type parameter in `Settings`, you might need to update to the most
4028
+ # recent version of your Amazon Web Services SDK.
4029
+ #
4030
+ # This operation has a 2-megabyte request-size limit and include the CSS
4031
+ # settings and image assets for your app client. Your branding settings
4032
+ # might exceed 2MB in size. Amazon Cognito doesn't require that you
4033
+ # pass all parameters in one request and preserves existing style
4034
+ # settings that you don't specify. If your request is larger than 2MB,
4035
+ # separate it into multiple requests, each with a size smaller than the
4036
+ # limit.
4037
+ #
4038
+ # For more information, see [API and SDK operations for managed login
4039
+ # branding][1]
4040
+ #
4041
+ # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
4042
+ # in requests for this API operation. For this operation, you must use
4043
+ # IAM credentials to authorize requests, and you must grant yourself the
4044
+ # corresponding IAM permission in a policy.
4045
+ #
4046
+ # **Learn more**
4047
+ #
4048
+ # * [Signing Amazon Web Services API Requests][2]
4049
+ #
4050
+ # * [Using the Amazon Cognito user pools API and user pool endpoints][3]
4051
+ #
4052
+ # </note>
4053
+ #
4054
+ #
4055
+ #
4056
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/managed-login-brandingdesigner.html#branding-designer-api
4057
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html
4058
+ # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html
4059
+ #
4060
+ # @option params [required, String] :user_pool_id
4061
+ # The ID of the user pool where you want to create a new branding style.
4062
+ #
4063
+ # @option params [required, String] :client_id
4064
+ # The app client that you want to create the branding style for. Each
4065
+ # style is permanently linked to an app client. To change the style for
4066
+ # an app client, delete the existing style with
4067
+ # [DeleteManagedLoginBranding][1] and create a new one.
4068
+ #
4069
+ #
4070
+ #
4071
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DeleteManagedLoginBranding.html
4072
+ #
4073
+ # @option params [Boolean] :use_cognito_provided_values
4074
+ # When true, applies the default branding style options. This option
4075
+ # reverts to default style options that are managed by Amazon Cognito.
4076
+ # You can modify them later in the branding designer.
4077
+ #
4078
+ # When you specify `true` for this option, you must also omit values for
4079
+ # `Settings` and `Assets` in the request.
4080
+ #
4081
+ # @option params [Hash,Array,String,Numeric,Boolean] :settings
4082
+ # A JSON file, encoded as a `Document` type, with the the settings that
4083
+ # you want to apply to your style.
4084
+ #
4085
+ # Document type used to carry open content
4086
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
4087
+ # serialized using the same format as its surroundings and requires no
4088
+ # additional encoding or escaping.
4089
+ #
4090
+ # @option params [Array<Types::AssetType>] :assets
4091
+ # An array of image files that you want to apply to roles like
4092
+ # backgrounds, logos, and icons. Each object must also indicate whether
4093
+ # it is for dark mode, light mode, or browser-adaptive mode.
4094
+ #
4095
+ # @return [Types::CreateManagedLoginBrandingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4096
+ #
4097
+ # * {Types::CreateManagedLoginBrandingResponse#managed_login_branding #managed_login_branding} => Types::ManagedLoginBrandingType
4098
+ #
4099
+ # @example Request syntax with placeholder values
4100
+ #
4101
+ # resp = client.create_managed_login_branding({
4102
+ # user_pool_id: "UserPoolIdType", # required
4103
+ # client_id: "ClientIdType", # required
4104
+ # use_cognito_provided_values: false,
4105
+ # settings: {
4106
+ # },
4107
+ # assets: [
4108
+ # {
4109
+ # category: "FAVICON_ICO", # required, accepts FAVICON_ICO, FAVICON_SVG, EMAIL_GRAPHIC, SMS_GRAPHIC, AUTH_APP_GRAPHIC, PASSWORD_GRAPHIC, PASSKEY_GRAPHIC, PAGE_HEADER_LOGO, PAGE_HEADER_BACKGROUND, PAGE_FOOTER_LOGO, PAGE_FOOTER_BACKGROUND, PAGE_BACKGROUND, FORM_BACKGROUND, FORM_LOGO, IDP_BUTTON_ICON
4110
+ # color_mode: "LIGHT", # required, accepts LIGHT, DARK, DYNAMIC
4111
+ # extension: "ICO", # required, accepts ICO, JPEG, PNG, SVG, WEBP
4112
+ # bytes: "data",
4113
+ # resource_id: "ResourceIdType",
4114
+ # },
4115
+ # ],
4116
+ # })
4117
+ #
4118
+ # @example Response structure
4119
+ #
4120
+ # resp.managed_login_branding.managed_login_branding_id #=> String
4121
+ # resp.managed_login_branding.user_pool_id #=> String
4122
+ # resp.managed_login_branding.use_cognito_provided_values #=> Boolean
4123
+ # resp.managed_login_branding.assets #=> Array
4124
+ # resp.managed_login_branding.assets[0].category #=> String, one of "FAVICON_ICO", "FAVICON_SVG", "EMAIL_GRAPHIC", "SMS_GRAPHIC", "AUTH_APP_GRAPHIC", "PASSWORD_GRAPHIC", "PASSKEY_GRAPHIC", "PAGE_HEADER_LOGO", "PAGE_HEADER_BACKGROUND", "PAGE_FOOTER_LOGO", "PAGE_FOOTER_BACKGROUND", "PAGE_BACKGROUND", "FORM_BACKGROUND", "FORM_LOGO", "IDP_BUTTON_ICON"
4125
+ # resp.managed_login_branding.assets[0].color_mode #=> String, one of "LIGHT", "DARK", "DYNAMIC"
4126
+ # resp.managed_login_branding.assets[0].extension #=> String, one of "ICO", "JPEG", "PNG", "SVG", "WEBP"
4127
+ # resp.managed_login_branding.assets[0].bytes #=> String
4128
+ # resp.managed_login_branding.assets[0].resource_id #=> String
4129
+ # resp.managed_login_branding.creation_date #=> Time
4130
+ # resp.managed_login_branding.last_modified_date #=> Time
4131
+ #
4132
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateManagedLoginBranding AWS API Documentation
4133
+ #
4134
+ # @overload create_managed_login_branding(params = {})
4135
+ # @param [Hash] params ({})
4136
+ def create_managed_login_branding(params = {}, options = {})
4137
+ req = build_request(:create_managed_login_branding, params)
4138
+ req.send_request(options)
4139
+ end
4140
+
3851
4141
  # Creates a new OAuth2.0 resource server and defines custom scopes
3852
4142
  # within it.
3853
4143
  #
@@ -4003,7 +4293,7 @@ module Aws::CognitoIdentityProvider
4003
4293
  # sign in.
4004
4294
  #
4005
4295
  # If you have never used SMS text messages with Amazon Cognito or any
4006
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
4296
+ # other Amazon Web Services service, Amazon Simple Notification Service
4007
4297
  # might place your account in the SMS sandbox. In <i> <a
4008
4298
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
4009
4299
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -4058,26 +4348,9 @@ module Aws::CognitoIdentityProvider
4058
4348
  # request.
4059
4349
  #
4060
4350
  # @option params [Types::LambdaConfigType] :lambda_config
4061
- # The Lambda trigger configuration information for the new user pool.
4062
- #
4063
- # <note markdown="1"> In a push model, event sources (such as Amazon S3 and custom
4064
- # applications) need permission to invoke a function. So you must make
4065
- # an extra call to add permission for these event sources to invoke your
4066
- # Lambda function.
4067
- #
4068
- #
4069
- #
4070
- # For more information on using the Lambda API to add permission, see[
4071
- # AddPermission ][1].
4072
- #
4073
- # For adding permission using the CLI, see[ add-permission ][2].
4074
- #
4075
- # </note>
4076
- #
4077
- #
4078
- #
4079
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html
4080
- # [2]: https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html
4351
+ # A collection of user pool Lambda triggers. Amazon Cognito invokes
4352
+ # triggers at several possible stages of authentication operations.
4353
+ # Triggers can modify the outcome of the operations that invoked them.
4081
4354
  #
4082
4355
  # @option params [Array<String>] :auto_verified_attributes
4083
4356
  # The attributes to be auto-verified. Possible values: **email**,
@@ -4116,8 +4389,15 @@ module Aws::CognitoIdentityProvider
4116
4389
  # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html
4117
4390
  #
4118
4391
  # @option params [Types::VerificationMessageTemplateType] :verification_message_template
4119
- # The template for the verification message that the user sees when the
4120
- # app requests permission to access the user's information.
4392
+ # The template for the verification message that your user pool delivers
4393
+ # to users who set an email address or phone number attribute.
4394
+ #
4395
+ # Set the email message type that corresponds to your
4396
+ # `DefaultEmailOption` selection. For `CONFIRM_WITH_LINK`, specify an
4397
+ # `EmailMessageByLink` and leave `EmailMessage` blank. For
4398
+ # `CONFIRM_WITH_CODE`, specify an `EmailMessage` and leave
4399
+ # `EmailMessageByLink` blank. When you supply both parameters with
4400
+ # either choice, Amazon Cognito returns an error.
4121
4401
  #
4122
4402
  # @option params [String] :sms_authentication_message
4123
4403
  # A string representing the SMS authentication message.
@@ -4214,6 +4494,16 @@ module Aws::CognitoIdentityProvider
4214
4494
  # legacy behavior to determine the recovery method where SMS is
4215
4495
  # preferred through email.
4216
4496
  #
4497
+ # @option params [String] :user_pool_tier
4498
+ # The user pool [feature plan][1], or tier. This parameter determines
4499
+ # the eligibility of the user pool for features like managed login,
4500
+ # access-token customization, and threat protection. Defaults to
4501
+ # `ESSENTIALS`.
4502
+ #
4503
+ #
4504
+ #
4505
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html
4506
+ #
4217
4507
  # @return [Types::CreateUserPoolResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4218
4508
  #
4219
4509
  # * {Types::CreateUserPoolResponse#user_pool #user_pool} => Types::UserPoolType
@@ -4688,6 +4978,9 @@ module Aws::CognitoIdentityProvider
4688
4978
  # password_history_size: 1,
4689
4979
  # temporary_password_validity_days: 1,
4690
4980
  # },
4981
+ # sign_in_policy: {
4982
+ # allowed_first_auth_factors: ["PASSWORD"], # accepts PASSWORD, EMAIL_OTP, SMS_OTP, WEB_AUTHN
4983
+ # },
4691
4984
  # },
4692
4985
  # deletion_protection: "ACTIVE", # accepts ACTIVE, INACTIVE
4693
4986
  # lambda_config: {
@@ -4757,8 +5050,8 @@ module Aws::CognitoIdentityProvider
4757
5050
  # allow_admin_create_user_only: false,
4758
5051
  # unused_account_validity_days: 1,
4759
5052
  # invite_message_template: {
4760
- # sms_message: "SmsVerificationMessageType",
4761
- # email_message: "EmailVerificationMessageType",
5053
+ # sms_message: "SmsInviteMessageType",
5054
+ # email_message: "EmailInviteMessageType",
4762
5055
  # email_subject: "EmailVerificationSubjectType",
4763
5056
  # },
4764
5057
  # },
@@ -4796,6 +5089,7 @@ module Aws::CognitoIdentityProvider
4796
5089
  # },
4797
5090
  # ],
4798
5091
  # },
5092
+ # user_pool_tier: "LITE", # accepts LITE, ESSENTIALS, PLUS
4799
5093
  # })
4800
5094
  #
4801
5095
  # @example Response structure
@@ -4809,6 +5103,8 @@ module Aws::CognitoIdentityProvider
4809
5103
  # resp.user_pool.policies.password_policy.require_symbols #=> Boolean
4810
5104
  # resp.user_pool.policies.password_policy.password_history_size #=> Integer
4811
5105
  # resp.user_pool.policies.password_policy.temporary_password_validity_days #=> Integer
5106
+ # resp.user_pool.policies.sign_in_policy.allowed_first_auth_factors #=> Array
5107
+ # resp.user_pool.policies.sign_in_policy.allowed_first_auth_factors[0] #=> String, one of "PASSWORD", "EMAIL_OTP", "SMS_OTP", "WEB_AUTHN"
4812
5108
  # resp.user_pool.deletion_protection #=> String, one of "ACTIVE", "INACTIVE"
4813
5109
  # resp.user_pool.lambda_config.pre_sign_up #=> String
4814
5110
  # resp.user_pool.lambda_config.custom_message #=> String
@@ -4888,6 +5184,7 @@ module Aws::CognitoIdentityProvider
4888
5184
  # resp.user_pool.account_recovery_setting.recovery_mechanisms #=> Array
4889
5185
  # resp.user_pool.account_recovery_setting.recovery_mechanisms[0].priority #=> Integer
4890
5186
  # resp.user_pool.account_recovery_setting.recovery_mechanisms[0].name #=> String, one of "verified_email", "verified_phone_number", "admin_only"
5187
+ # resp.user_pool.user_pool_tier #=> String, one of "LITE", "ESSENTIALS", "PLUS"
4891
5188
  #
4892
5189
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPool AWS API Documentation
4893
5190
  #
@@ -5058,6 +5355,15 @@ module Aws::CognitoIdentityProvider
5058
5355
  #
5059
5356
  # Valid values include:
5060
5357
  #
5358
+ # * `ALLOW_USER_AUTH`: Enable selection-based sign-in with `USER_AUTH`.
5359
+ # This setting covers username-password, secure remote password (SRP),
5360
+ # passwordless, and passkey authentication. This authentiation flow
5361
+ # can do username-password and SRP authentication without other
5362
+ # `ExplicitAuthFlows` permitting them. For example users can complete
5363
+ # an SRP challenge through `USER_AUTH` without the flow
5364
+ # `USER_SRP_AUTH` being active for the app client. This flow doesn't
5365
+ # include `CUSTOM_AUTH`.
5366
+ #
5061
5367
  # * `ALLOW_ADMIN_USER_PASSWORD_AUTH`: Enable admin based user password
5062
5368
  # authentication flow `ADMIN_USER_PASSWORD_AUTH`. This setting
5063
5369
  # replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication
@@ -5089,6 +5395,18 @@ module Aws::CognitoIdentityProvider
5089
5395
  # can also specify the names that you configured for the SAML and OIDC
5090
5396
  # IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP`.
5091
5397
  #
5398
+ # This setting applies to providers that you can access with the [hosted
5399
+ # UI and OAuth 2.0 authorization server][1]. The removal of `COGNITO`
5400
+ # from this list doesn't prevent authentication operations for local
5401
+ # users with the user pools API in an Amazon Web Services SDK. The only
5402
+ # way to prevent API-based authentication is to block access with a [WAF
5403
+ # rule][2].
5404
+ #
5405
+ #
5406
+ #
5407
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html
5408
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html
5409
+ #
5092
5410
  # @option params [Array<String>] :callback_urls
5093
5411
  # A list of allowed redirect (callback) URLs for the IdPs.
5094
5412
  #
@@ -5242,7 +5560,7 @@ module Aws::CognitoIdentityProvider
5242
5560
  #
5243
5561
  #
5244
5562
  #
5245
- # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html
5563
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-threat-protection.html
5246
5564
  #
5247
5565
  # @option params [Integer] :auth_session_validity
5248
5566
  # Amazon Cognito creates a session token for each API request in an
@@ -5398,7 +5716,7 @@ module Aws::CognitoIdentityProvider
5398
5716
  # },
5399
5717
  # read_attributes: ["ClientPermissionType"],
5400
5718
  # write_attributes: ["ClientPermissionType"],
5401
- # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUTH, ALLOW_ADMIN_USER_PASSWORD_AUTH, ALLOW_CUSTOM_AUTH, ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH, ALLOW_REFRESH_TOKEN_AUTH
5719
+ # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUTH, ALLOW_ADMIN_USER_PASSWORD_AUTH, ALLOW_CUSTOM_AUTH, ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH, ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_AUTH
5402
5720
  # supported_identity_providers: ["ProviderNameType"],
5403
5721
  # callback_urls: ["RedirectUrlType"],
5404
5722
  # logout_urls: ["RedirectUrlType"],
@@ -5438,7 +5756,7 @@ module Aws::CognitoIdentityProvider
5438
5756
  # resp.user_pool_client.write_attributes #=> Array
5439
5757
  # resp.user_pool_client.write_attributes[0] #=> String
5440
5758
  # resp.user_pool_client.explicit_auth_flows #=> Array
5441
- # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY", "USER_PASSWORD_AUTH", "ALLOW_ADMIN_USER_PASSWORD_AUTH", "ALLOW_CUSTOM_AUTH", "ALLOW_USER_PASSWORD_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH"
5759
+ # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY", "USER_PASSWORD_AUTH", "ALLOW_ADMIN_USER_PASSWORD_AUTH", "ALLOW_CUSTOM_AUTH", "ALLOW_USER_PASSWORD_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH", "ALLOW_USER_AUTH"
5442
5760
  # resp.user_pool_client.supported_identity_providers #=> Array
5443
5761
  # resp.user_pool_client.supported_identity_providers[0] #=> String
5444
5762
  # resp.user_pool_client.callback_urls #=> Array
@@ -5470,7 +5788,9 @@ module Aws::CognitoIdentityProvider
5470
5788
  req.send_request(options)
5471
5789
  end
5472
5790
 
5473
- # Creates a new domain for a user pool.
5791
+ # Creates a new domain for a user pool. The domain hosts user pool
5792
+ # domain services like managed login, the hosted UI (classic), and the
5793
+ # user pool authorization server.
5474
5794
  #
5475
5795
  # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
5476
5796
  # in requests for this API operation. For this operation, you must use
@@ -5496,7 +5816,19 @@ module Aws::CognitoIdentityProvider
5496
5816
  # domains, this is the prefix alone, such as `auth`.
5497
5817
  #
5498
5818
  # @option params [required, String] :user_pool_id
5499
- # The user pool ID.
5819
+ # The ID of the user pool where you want to add a domain.
5820
+ #
5821
+ # @option params [Integer] :managed_login_version
5822
+ # The version of managed login branding that you want to apply to your
5823
+ # domain. A value of `1` indicates hosted UI (classic) branding and a
5824
+ # version of `2` indicates managed login branding.
5825
+ #
5826
+ # Managed login requires that your user pool be configured for any
5827
+ # [feature plan][1] other than `Lite`.
5828
+ #
5829
+ #
5830
+ #
5831
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html
5500
5832
  #
5501
5833
  # @option params [Types::CustomDomainConfigType] :custom_domain_config
5502
5834
  # The configuration for a custom domain that hosts the sign-up and
@@ -5515,6 +5847,7 @@ module Aws::CognitoIdentityProvider
5515
5847
  #
5516
5848
  # @return [Types::CreateUserPoolDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5517
5849
  #
5850
+ # * {Types::CreateUserPoolDomainResponse#managed_login_version #managed_login_version} => Integer
5518
5851
  # * {Types::CreateUserPoolDomainResponse#cloud_front_domain #cloud_front_domain} => String
5519
5852
  #
5520
5853
  # @example Request syntax with placeholder values
@@ -5522,6 +5855,7 @@ module Aws::CognitoIdentityProvider
5522
5855
  # resp = client.create_user_pool_domain({
5523
5856
  # domain: "DomainType", # required
5524
5857
  # user_pool_id: "UserPoolIdType", # required
5858
+ # managed_login_version: 1,
5525
5859
  # custom_domain_config: {
5526
5860
  # certificate_arn: "ArnType", # required
5527
5861
  # },
@@ -5529,6 +5863,7 @@ module Aws::CognitoIdentityProvider
5529
5863
  #
5530
5864
  # @example Response structure
5531
5865
  #
5866
+ # resp.managed_login_version #=> Integer
5532
5867
  # resp.cloud_front_domain #=> String
5533
5868
  #
5534
5869
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolDomain AWS API Documentation
@@ -5594,6 +5929,53 @@ module Aws::CognitoIdentityProvider
5594
5929
  req.send_request(options)
5595
5930
  end
5596
5931
 
5932
+ # Deletes a managed login branding style. When you delete a style, you
5933
+ # delete the branding association for an app client and restore it to
5934
+ # default settings.
5935
+ #
5936
+ # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
5937
+ # in requests for this API operation. For this operation, you must use
5938
+ # IAM credentials to authorize requests, and you must grant yourself the
5939
+ # corresponding IAM permission in a policy.
5940
+ #
5941
+ # **Learn more**
5942
+ #
5943
+ # * [Signing Amazon Web Services API Requests][1]
5944
+ #
5945
+ # * [Using the Amazon Cognito user pools API and user pool endpoints][2]
5946
+ #
5947
+ # </note>
5948
+ #
5949
+ #
5950
+ #
5951
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html
5952
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html
5953
+ #
5954
+ # @option params [required, String] :managed_login_branding_id
5955
+ # The ID of the managed login branding style that you want to delete.
5956
+ #
5957
+ # @option params [required, String] :user_pool_id
5958
+ # The ID of the user pool that contains the managed login branding style
5959
+ # that you want to delete.
5960
+ #
5961
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
5962
+ #
5963
+ # @example Request syntax with placeholder values
5964
+ #
5965
+ # resp = client.delete_managed_login_branding({
5966
+ # managed_login_branding_id: "ManagedLoginBrandingIdType", # required
5967
+ # user_pool_id: "UserPoolIdType", # required
5968
+ # })
5969
+ #
5970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteManagedLoginBranding AWS API Documentation
5971
+ #
5972
+ # @overload delete_managed_login_branding(params = {})
5973
+ # @param [Hash] params ({})
5974
+ def delete_managed_login_branding(params = {}, options = {})
5975
+ req = build_request(:delete_managed_login_branding, params)
5976
+ req.send_request(options)
5977
+ end
5978
+
5597
5979
  # Deletes a resource server.
5598
5980
  #
5599
5981
  # @option params [required, String] :user_pool_id
@@ -5783,6 +6165,42 @@ module Aws::CognitoIdentityProvider
5783
6165
  req.send_request(options)
5784
6166
  end
5785
6167
 
6168
+ # Deletes a registered passkey, or webauthN, device for the currently
6169
+ # signed-in user.
6170
+ #
6171
+ # Authorize this action with a signed-in user's access token. It must
6172
+ # include the scope `aws.cognito.signin.user.admin`.
6173
+ #
6174
+ # @option params [required, String] :access_token
6175
+ # A valid access token that Amazon Cognito issued to the user whose
6176
+ # passkey you want to delete.
6177
+ #
6178
+ # @option params [required, String] :credential_id
6179
+ # The unique identifier of the passkey that you want to delete. Look up
6180
+ # registered devices with [ ListWebAuthnCredentials][1].
6181
+ #
6182
+ #
6183
+ #
6184
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListWebAuthnCredentials.html
6185
+ #
6186
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
6187
+ #
6188
+ # @example Request syntax with placeholder values
6189
+ #
6190
+ # resp = client.delete_web_authn_credential({
6191
+ # access_token: "TokenModelType", # required
6192
+ # credential_id: "StringType", # required
6193
+ # })
6194
+ #
6195
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DeleteWebAuthnCredential AWS API Documentation
6196
+ #
6197
+ # @overload delete_web_authn_credential(params = {})
6198
+ # @param [Hash] params ({})
6199
+ def delete_web_authn_credential(params = {}, options = {})
6200
+ req = build_request(:delete_web_authn_credential, params)
6201
+ req.send_request(options)
6202
+ end
6203
+
5786
6204
  # Gets information about a specific IdP.
5787
6205
  #
5788
6206
  # @option params [required, String] :user_pool_id
@@ -5825,6 +6243,110 @@ module Aws::CognitoIdentityProvider
5825
6243
  req.send_request(options)
5826
6244
  end
5827
6245
 
6246
+ # When given the ID of a managed login branding style, returns detailed
6247
+ # information about the style.
6248
+ #
6249
+ # @option params [required, String] :user_pool_id
6250
+ # The ID of the user pool that contains the managed login branding style
6251
+ # that you want to get information about.
6252
+ #
6253
+ # @option params [required, String] :managed_login_branding_id
6254
+ # The ID of the managed login branding style that you want to get more
6255
+ # information about.
6256
+ #
6257
+ # @option params [Boolean] :return_merged_resources
6258
+ # When `true`, returns values for branding options that are unchanged
6259
+ # from Amazon Cognito defaults. When `false` or when you omit this
6260
+ # parameter, returns only values that you customized in your branding
6261
+ # style.
6262
+ #
6263
+ # @return [Types::DescribeManagedLoginBrandingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6264
+ #
6265
+ # * {Types::DescribeManagedLoginBrandingResponse#managed_login_branding #managed_login_branding} => Types::ManagedLoginBrandingType
6266
+ #
6267
+ # @example Request syntax with placeholder values
6268
+ #
6269
+ # resp = client.describe_managed_login_branding({
6270
+ # user_pool_id: "UserPoolIdType", # required
6271
+ # managed_login_branding_id: "ManagedLoginBrandingIdType", # required
6272
+ # return_merged_resources: false,
6273
+ # })
6274
+ #
6275
+ # @example Response structure
6276
+ #
6277
+ # resp.managed_login_branding.managed_login_branding_id #=> String
6278
+ # resp.managed_login_branding.user_pool_id #=> String
6279
+ # resp.managed_login_branding.use_cognito_provided_values #=> Boolean
6280
+ # resp.managed_login_branding.assets #=> Array
6281
+ # resp.managed_login_branding.assets[0].category #=> String, one of "FAVICON_ICO", "FAVICON_SVG", "EMAIL_GRAPHIC", "SMS_GRAPHIC", "AUTH_APP_GRAPHIC", "PASSWORD_GRAPHIC", "PASSKEY_GRAPHIC", "PAGE_HEADER_LOGO", "PAGE_HEADER_BACKGROUND", "PAGE_FOOTER_LOGO", "PAGE_FOOTER_BACKGROUND", "PAGE_BACKGROUND", "FORM_BACKGROUND", "FORM_LOGO", "IDP_BUTTON_ICON"
6282
+ # resp.managed_login_branding.assets[0].color_mode #=> String, one of "LIGHT", "DARK", "DYNAMIC"
6283
+ # resp.managed_login_branding.assets[0].extension #=> String, one of "ICO", "JPEG", "PNG", "SVG", "WEBP"
6284
+ # resp.managed_login_branding.assets[0].bytes #=> String
6285
+ # resp.managed_login_branding.assets[0].resource_id #=> String
6286
+ # resp.managed_login_branding.creation_date #=> Time
6287
+ # resp.managed_login_branding.last_modified_date #=> Time
6288
+ #
6289
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeManagedLoginBranding AWS API Documentation
6290
+ #
6291
+ # @overload describe_managed_login_branding(params = {})
6292
+ # @param [Hash] params ({})
6293
+ def describe_managed_login_branding(params = {}, options = {})
6294
+ req = build_request(:describe_managed_login_branding, params)
6295
+ req.send_request(options)
6296
+ end
6297
+
6298
+ # When given the ID of a user pool app client, returns detailed
6299
+ # information about the style assigned to the app client.
6300
+ #
6301
+ # @option params [required, String] :user_pool_id
6302
+ # The ID of the user pool that contains the app client where you want
6303
+ # more information about the managed login branding style.
6304
+ #
6305
+ # @option params [required, String] :client_id
6306
+ # The app client that's assigned to the branding style that you want
6307
+ # more information about.
6308
+ #
6309
+ # @option params [Boolean] :return_merged_resources
6310
+ # When `true`, returns values for branding options that are unchanged
6311
+ # from Amazon Cognito defaults. When `false` or when you omit this
6312
+ # parameter, returns only values that you customized in your branding
6313
+ # style.
6314
+ #
6315
+ # @return [Types::DescribeManagedLoginBrandingByClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6316
+ #
6317
+ # * {Types::DescribeManagedLoginBrandingByClientResponse#managed_login_branding #managed_login_branding} => Types::ManagedLoginBrandingType
6318
+ #
6319
+ # @example Request syntax with placeholder values
6320
+ #
6321
+ # resp = client.describe_managed_login_branding_by_client({
6322
+ # user_pool_id: "UserPoolIdType", # required
6323
+ # client_id: "ClientIdType", # required
6324
+ # return_merged_resources: false,
6325
+ # })
6326
+ #
6327
+ # @example Response structure
6328
+ #
6329
+ # resp.managed_login_branding.managed_login_branding_id #=> String
6330
+ # resp.managed_login_branding.user_pool_id #=> String
6331
+ # resp.managed_login_branding.use_cognito_provided_values #=> Boolean
6332
+ # resp.managed_login_branding.assets #=> Array
6333
+ # resp.managed_login_branding.assets[0].category #=> String, one of "FAVICON_ICO", "FAVICON_SVG", "EMAIL_GRAPHIC", "SMS_GRAPHIC", "AUTH_APP_GRAPHIC", "PASSWORD_GRAPHIC", "PASSKEY_GRAPHIC", "PAGE_HEADER_LOGO", "PAGE_HEADER_BACKGROUND", "PAGE_FOOTER_LOGO", "PAGE_FOOTER_BACKGROUND", "PAGE_BACKGROUND", "FORM_BACKGROUND", "FORM_LOGO", "IDP_BUTTON_ICON"
6334
+ # resp.managed_login_branding.assets[0].color_mode #=> String, one of "LIGHT", "DARK", "DYNAMIC"
6335
+ # resp.managed_login_branding.assets[0].extension #=> String, one of "ICO", "JPEG", "PNG", "SVG", "WEBP"
6336
+ # resp.managed_login_branding.assets[0].bytes #=> String
6337
+ # resp.managed_login_branding.assets[0].resource_id #=> String
6338
+ # resp.managed_login_branding.creation_date #=> Time
6339
+ # resp.managed_login_branding.last_modified_date #=> Time
6340
+ #
6341
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeManagedLoginBrandingByClient AWS API Documentation
6342
+ #
6343
+ # @overload describe_managed_login_branding_by_client(params = {})
6344
+ # @param [Hash] params ({})
6345
+ def describe_managed_login_branding_by_client(params = {}, options = {})
6346
+ req = build_request(:describe_managed_login_branding_by_client, params)
6347
+ req.send_request(options)
6348
+ end
6349
+
5828
6350
  # Describes a resource server.
5829
6351
  #
5830
6352
  # @option params [required, String] :user_pool_id
@@ -6018,6 +6540,8 @@ module Aws::CognitoIdentityProvider
6018
6540
  # resp.user_pool.policies.password_policy.require_symbols #=> Boolean
6019
6541
  # resp.user_pool.policies.password_policy.password_history_size #=> Integer
6020
6542
  # resp.user_pool.policies.password_policy.temporary_password_validity_days #=> Integer
6543
+ # resp.user_pool.policies.sign_in_policy.allowed_first_auth_factors #=> Array
6544
+ # resp.user_pool.policies.sign_in_policy.allowed_first_auth_factors[0] #=> String, one of "PASSWORD", "EMAIL_OTP", "SMS_OTP", "WEB_AUTHN"
6021
6545
  # resp.user_pool.deletion_protection #=> String, one of "ACTIVE", "INACTIVE"
6022
6546
  # resp.user_pool.lambda_config.pre_sign_up #=> String
6023
6547
  # resp.user_pool.lambda_config.custom_message #=> String
@@ -6097,6 +6621,7 @@ module Aws::CognitoIdentityProvider
6097
6621
  # resp.user_pool.account_recovery_setting.recovery_mechanisms #=> Array
6098
6622
  # resp.user_pool.account_recovery_setting.recovery_mechanisms[0].priority #=> Integer
6099
6623
  # resp.user_pool.account_recovery_setting.recovery_mechanisms[0].name #=> String, one of "verified_email", "verified_phone_number", "admin_only"
6624
+ # resp.user_pool.user_pool_tier #=> String, one of "LITE", "ESSENTIALS", "PLUS"
6100
6625
  #
6101
6626
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPool AWS API Documentation
6102
6627
  #
@@ -6164,7 +6689,7 @@ module Aws::CognitoIdentityProvider
6164
6689
  # resp.user_pool_client.write_attributes #=> Array
6165
6690
  # resp.user_pool_client.write_attributes[0] #=> String
6166
6691
  # resp.user_pool_client.explicit_auth_flows #=> Array
6167
- # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY", "USER_PASSWORD_AUTH", "ALLOW_ADMIN_USER_PASSWORD_AUTH", "ALLOW_CUSTOM_AUTH", "ALLOW_USER_PASSWORD_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH"
6692
+ # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY", "USER_PASSWORD_AUTH", "ALLOW_ADMIN_USER_PASSWORD_AUTH", "ALLOW_CUSTOM_AUTH", "ALLOW_USER_PASSWORD_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH", "ALLOW_USER_AUTH"
6168
6693
  # resp.user_pool_client.supported_identity_providers #=> Array
6169
6694
  # resp.user_pool_client.supported_identity_providers[0] #=> String
6170
6695
  # resp.user_pool_client.callback_urls #=> Array
@@ -6223,6 +6748,7 @@ module Aws::CognitoIdentityProvider
6223
6748
  # resp.domain_description.version #=> String
6224
6749
  # resp.domain_description.status #=> String, one of "CREATING", "DELETING", "UPDATING", "ACTIVE", "FAILED"
6225
6750
  # resp.domain_description.custom_domain_config.certificate_arn #=> String
6751
+ # resp.domain_description.managed_login_version #=> Integer
6226
6752
  #
6227
6753
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolDomain AWS API Documentation
6228
6754
  #
@@ -6315,7 +6841,7 @@ module Aws::CognitoIdentityProvider
6315
6841
  # sign in.
6316
6842
  #
6317
6843
  # If you have never used SMS text messages with Amazon Cognito or any
6318
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
6844
+ # other Amazon Web Services service, Amazon Simple Notification Service
6319
6845
  # might place your account in the SMS sandbox. In <i> <a
6320
6846
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
6321
6847
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -6803,7 +7329,7 @@ module Aws::CognitoIdentityProvider
6803
7329
  # sign in.
6804
7330
  #
6805
7331
  # If you have never used SMS text messages with Amazon Cognito or any
6806
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
7332
+ # other Amazon Web Services service, Amazon Simple Notification Service
6807
7333
  # might place your account in the SMS sandbox. In <i> <a
6808
7334
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
6809
7335
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -6894,6 +7420,50 @@ module Aws::CognitoIdentityProvider
6894
7420
  req.send_request(options)
6895
7421
  end
6896
7422
 
7423
+ # Lists the authentication options for the currently signed-in user.
7424
+ # Returns the following:
7425
+ #
7426
+ # 1. The user's multi-factor authentication (MFA) preferences.
7427
+ #
7428
+ # 2. The user's options in the `USER_AUTH` flow that they can select
7429
+ # in a `SELECT_CHALLENGE` response or request in a
7430
+ # `PREFERRED_CHALLENGE`request.
7431
+ #
7432
+ # @option params [required, String] :access_token
7433
+ # A valid access token that Amazon Cognito issued to the user whose
7434
+ # authentication factors you want to view.
7435
+ #
7436
+ # @return [Types::GetUserAuthFactorsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7437
+ #
7438
+ # * {Types::GetUserAuthFactorsResponse#username #username} => String
7439
+ # * {Types::GetUserAuthFactorsResponse#preferred_mfa_setting #preferred_mfa_setting} => String
7440
+ # * {Types::GetUserAuthFactorsResponse#user_mfa_setting_list #user_mfa_setting_list} => Array&lt;String&gt;
7441
+ # * {Types::GetUserAuthFactorsResponse#configured_user_auth_factors #configured_user_auth_factors} => Array&lt;String&gt;
7442
+ #
7443
+ # @example Request syntax with placeholder values
7444
+ #
7445
+ # resp = client.get_user_auth_factors({
7446
+ # access_token: "TokenModelType", # required
7447
+ # })
7448
+ #
7449
+ # @example Response structure
7450
+ #
7451
+ # resp.username #=> String
7452
+ # resp.preferred_mfa_setting #=> String
7453
+ # resp.user_mfa_setting_list #=> Array
7454
+ # resp.user_mfa_setting_list[0] #=> String
7455
+ # resp.configured_user_auth_factors #=> Array
7456
+ # resp.configured_user_auth_factors[0] #=> String, one of "PASSWORD", "EMAIL_OTP", "SMS_OTP", "WEB_AUTHN"
7457
+ #
7458
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserAuthFactors AWS API Documentation
7459
+ #
7460
+ # @overload get_user_auth_factors(params = {})
7461
+ # @param [Hash] params ({})
7462
+ def get_user_auth_factors(params = {}, options = {})
7463
+ req = build_request(:get_user_auth_factors, params)
7464
+ req.send_request(options)
7465
+ end
7466
+
6897
7467
  # Gets the user pool multi-factor authentication (MFA) configuration.
6898
7468
  #
6899
7469
  # @option params [required, String] :user_pool_id
@@ -6905,6 +7475,7 @@ module Aws::CognitoIdentityProvider
6905
7475
  # * {Types::GetUserPoolMfaConfigResponse#software_token_mfa_configuration #software_token_mfa_configuration} => Types::SoftwareTokenMfaConfigType
6906
7476
  # * {Types::GetUserPoolMfaConfigResponse#email_mfa_configuration #email_mfa_configuration} => Types::EmailMfaConfigType
6907
7477
  # * {Types::GetUserPoolMfaConfigResponse#mfa_configuration #mfa_configuration} => String
7478
+ # * {Types::GetUserPoolMfaConfigResponse#web_authn_configuration #web_authn_configuration} => Types::WebAuthnConfigurationType
6908
7479
  #
6909
7480
  # @example Request syntax with placeholder values
6910
7481
  #
@@ -6922,6 +7493,8 @@ module Aws::CognitoIdentityProvider
6922
7493
  # resp.email_mfa_configuration.message #=> String
6923
7494
  # resp.email_mfa_configuration.subject #=> String
6924
7495
  # resp.mfa_configuration #=> String, one of "OFF", "ON", "OPTIONAL"
7496
+ # resp.web_authn_configuration.relying_party_id #=> String
7497
+ # resp.web_authn_configuration.user_verification #=> String, one of "required", "preferred"
6925
7498
  #
6926
7499
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserPoolMfaConfig AWS API Documentation
6927
7500
  #
@@ -7019,7 +7592,7 @@ module Aws::CognitoIdentityProvider
7019
7592
  # sign in.
7020
7593
  #
7021
7594
  # If you have never used SMS text messages with Amazon Cognito or any
7022
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
7595
+ # other Amazon Web Services service, Amazon Simple Notification Service
7023
7596
  # might place your account in the SMS sandbox. In <i> <a
7024
7597
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
7025
7598
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -7038,41 +7611,77 @@ module Aws::CognitoIdentityProvider
7038
7611
  # [4]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html
7039
7612
  #
7040
7613
  # @option params [required, String] :auth_flow
7041
- # The authentication flow for this call to run. The API action will
7042
- # depend on this value. For example:
7614
+ # The authentication flow that you want to initiate. The
7615
+ # `AuthParameters` that you must submit are linked to the flow that you
7616
+ # submit. For example:
7043
7617
  #
7044
- # * `REFRESH_TOKEN_AUTH` takes in a valid refresh token and returns new
7045
- # tokens.
7618
+ # * `USER_AUTH`: Request a preferred authentication type or review
7619
+ # available authentication types. From the offered authentication
7620
+ # types, select one in a challenge response and then authenticate with
7621
+ # that method in an additional challenge response.
7046
7622
  #
7047
- # * `USER_SRP_AUTH` takes in `USERNAME` and `SRP_A` and returns the SRP
7048
- # variables to be used for next challenge execution.
7623
+ # * `REFRESH_TOKEN_AUTH`: Receive new ID and access tokens when you pass
7624
+ # a `REFRESH_TOKEN` parameter with a valid refresh token as the value.
7049
7625
  #
7050
- # * `USER_PASSWORD_AUTH` takes in `USERNAME` and `PASSWORD` and returns
7051
- # the next challenge or tokens.
7626
+ # * `USER_SRP_AUTH`: Receive secure remote password (SRP) variables for
7627
+ # the next challenge, `PASSWORD_VERIFIER`, when you pass `USERNAME`
7628
+ # and `SRP_A` parameters.
7052
7629
  #
7053
- # Valid values include:
7630
+ # * `USER_PASSWORD_AUTH`: Receive new tokens or the next challenge, for
7631
+ # example `SOFTWARE_TOKEN_MFA`, when you pass `USERNAME` and
7632
+ # `PASSWORD` parameters.
7054
7633
  #
7055
- # * `USER_SRP_AUTH`: Authentication flow for the Secure Remote Password
7056
- # (SRP) protocol.
7634
+ # Valid values include the following:
7057
7635
  #
7058
- # * `REFRESH_TOKEN_AUTH`/`REFRESH_TOKEN`: Authentication flow for
7059
- # refreshing the access token and ID token by supplying a valid
7060
- # refresh token.
7636
+ # USER\_AUTH
7061
7637
  #
7062
- # * `CUSTOM_AUTH`: Custom authentication flow.
7638
+ # : The entry point for sign-in with passwords, one-time passwords,
7639
+ # biometric devices, and security keys.
7063
7640
  #
7064
- # * `USER_PASSWORD_AUTH`: Non-SRP authentication flow; user name and
7065
- # password are passed directly. If a user migration Lambda trigger is
7066
- # set, this flow will invoke the user migration Lambda if it doesn't
7067
- # find the user name in the user pool.
7641
+ # USER\_SRP\_AUTH
7068
7642
  #
7069
- # `ADMIN_NO_SRP_AUTH` isn't a valid value.
7643
+ # : Username-password authentication with the Secure Remote Password
7644
+ # (SRP) protocol. For more information, see [Use SRP password
7645
+ # verification in custom authentication flow][1].
7646
+ #
7647
+ # REFRESH\_TOKEN\_AUTH and REFRESH\_TOKEN
7648
+ #
7649
+ # : Provide a valid refresh token and receive new ID and access tokens.
7650
+ # For more information, see [Using the refresh token][2].
7651
+ #
7652
+ # CUSTOM\_AUTH
7653
+ #
7654
+ # : Custom authentication with Lambda triggers. For more information,
7655
+ # see [Custom authentication challenge Lambda triggers][3].
7656
+ #
7657
+ # USER\_PASSWORD\_AUTH
7658
+ #
7659
+ # : Username-password authentication with the password sent directly in
7660
+ # the request. For more information, see [Admin authentication
7661
+ # flow][4].
7662
+ #
7663
+ # `ADMIN_USER_PASSWORD_AUTH` is a flow type of [AdminInitiateAuth][5]
7664
+ # and isn't valid for InitiateAuth. `ADMIN_NO_SRP_AUTH` is a legacy
7665
+ # server-side username-password flow and isn't valid for InitiateAuth.
7666
+ #
7667
+ #
7668
+ #
7669
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#Using-SRP-password-verification-in-custom-authentication-flow
7670
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html
7671
+ # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-challenge.html
7672
+ # [4]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html#Built-in-authentication-flow-and-challenges
7673
+ # [5]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html
7070
7674
  #
7071
7675
  # @option params [Hash<String,String>] :auth_parameters
7072
7676
  # The authentication parameters. These are inputs corresponding to the
7073
7677
  # `AuthFlow` that you're invoking. The required values depend on the
7074
7678
  # value of `AuthFlow`:
7075
7679
  #
7680
+ # * For `USER_AUTH`: `USERNAME` (required), `PREFERRED_CHALLENGE`. If
7681
+ # you don't provide a value for `PREFERRED_CHALLENGE`, Amazon Cognito
7682
+ # responds with the `AvailableChallenges` parameter that specifies the
7683
+ # available sign-in methods.
7684
+ #
7076
7685
  # * For `USER_SRP_AUTH`: `USERNAME` (required), `SRP_A` (required),
7077
7686
  # `SECRET_HASH` (required if the app client is configured with a
7078
7687
  # client secret), `DEVICE_KEY`.
@@ -7137,6 +7746,10 @@ module Aws::CognitoIdentityProvider
7137
7746
  #
7138
7747
  # * Define auth challenge
7139
7748
  #
7749
+ # * Custom email sender
7750
+ #
7751
+ # * Custom SMS sender
7752
+ #
7140
7753
  # For more information, see [ Customizing user pool Workflows with
7141
7754
  # Lambda Triggers][1] in the *Amazon Cognito Developer Guide*.
7142
7755
  #
@@ -7173,12 +7786,18 @@ module Aws::CognitoIdentityProvider
7173
7786
  # that your app generates and passes to Amazon Cognito when it makes API
7174
7787
  # requests.
7175
7788
  #
7789
+ # @option params [String] :session
7790
+ # The optional session ID from a `ConfirmSignUp` API request. You can
7791
+ # sign in a user directly from the sign-up process with the `USER_AUTH`
7792
+ # authentication flow.
7793
+ #
7176
7794
  # @return [Types::InitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7177
7795
  #
7178
7796
  # * {Types::InitiateAuthResponse#challenge_name #challenge_name} => String
7179
7797
  # * {Types::InitiateAuthResponse#session #session} => String
7180
7798
  # * {Types::InitiateAuthResponse#challenge_parameters #challenge_parameters} => Hash&lt;String,String&gt;
7181
7799
  # * {Types::InitiateAuthResponse#authentication_result #authentication_result} => Types::AuthenticationResultType
7800
+ # * {Types::InitiateAuthResponse#available_challenges #available_challenges} => Array&lt;String&gt;
7182
7801
  #
7183
7802
  #
7184
7803
  # @example Example: Example username and password sign-in for a user who has TOTP MFA
@@ -7219,7 +7838,7 @@ module Aws::CognitoIdentityProvider
7219
7838
  # @example Request syntax with placeholder values
7220
7839
  #
7221
7840
  # resp = client.initiate_auth({
7222
- # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH, USER_PASSWORD_AUTH, ADMIN_USER_PASSWORD_AUTH
7841
+ # auth_flow: "USER_SRP_AUTH", # required, accepts USER_SRP_AUTH, REFRESH_TOKEN_AUTH, REFRESH_TOKEN, CUSTOM_AUTH, ADMIN_NO_SRP_AUTH, USER_PASSWORD_AUTH, ADMIN_USER_PASSWORD_AUTH, USER_AUTH
7223
7842
  # auth_parameters: {
7224
7843
  # "StringType" => "StringType",
7225
7844
  # },
@@ -7234,11 +7853,12 @@ module Aws::CognitoIdentityProvider
7234
7853
  # ip_address: "StringType",
7235
7854
  # encoded_data: "StringType",
7236
7855
  # },
7856
+ # session: "SessionType",
7237
7857
  # })
7238
7858
  #
7239
7859
  # @example Response structure
7240
7860
  #
7241
- # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
7861
+ # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "SELECT_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED", "SMS_OTP", "PASSWORD", "WEB_AUTHN", "PASSWORD_SRP"
7242
7862
  # resp.session #=> String
7243
7863
  # resp.challenge_parameters #=> Hash
7244
7864
  # resp.challenge_parameters["StringType"] #=> String
@@ -7249,6 +7869,8 @@ module Aws::CognitoIdentityProvider
7249
7869
  # resp.authentication_result.id_token #=> String
7250
7870
  # resp.authentication_result.new_device_metadata.device_key #=> String
7251
7871
  # resp.authentication_result.new_device_metadata.device_group_key #=> String
7872
+ # resp.available_challenges #=> Array
7873
+ # resp.available_challenges[0] #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "SELECT_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED", "SMS_OTP", "PASSWORD", "WEB_AUTHN", "PASSWORD_SRP"
7252
7874
  #
7253
7875
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/InitiateAuth AWS API Documentation
7254
7876
  #
@@ -7826,9 +8448,9 @@ module Aws::CognitoIdentityProvider
7826
8448
  # this token, you can paginate through the full list of items.
7827
8449
  #
7828
8450
  # @option params [String] :filter
7829
- # A filter string of the form "*AttributeName* *Filter-Type*
7830
- # "*AttributeValue*"". Quotation marks within the filter string must
7831
- # be escaped using the backslash (``) character. For example,
8451
+ # A filter string of the form `"AttributeName Filter-Type
8452
+ # "AttributeValue"`. Quotation marks within the filter string must be
8453
+ # escaped using the backslash (``) character. For example,
7832
8454
  # `"family_name = "Reddy""`.
7833
8455
  #
7834
8456
  # * *AttributeName*: The name of the attribute to search for. You can
@@ -8087,6 +8709,56 @@ module Aws::CognitoIdentityProvider
8087
8709
  req.send_request(options)
8088
8710
  end
8089
8711
 
8712
+ # Generates a list of the current user's registered passkey, or
8713
+ # webauthN, credentials.
8714
+ #
8715
+ # @option params [required, String] :access_token
8716
+ # A valid access token that Amazon Cognito issued to the user whose
8717
+ # registered passkeys you want to list.
8718
+ #
8719
+ # @option params [String] :next_token
8720
+ # An identifier that was returned from the previous call to this
8721
+ # operation, which can be used to return the next set of items in the
8722
+ # list.
8723
+ #
8724
+ # @option params [Integer] :max_results
8725
+ # The maximum number of the user's passkey credentials that you want to
8726
+ # return.
8727
+ #
8728
+ # @return [Types::ListWebAuthnCredentialsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8729
+ #
8730
+ # * {Types::ListWebAuthnCredentialsResponse#credentials #credentials} => Array&lt;Types::WebAuthnCredentialDescription&gt;
8731
+ # * {Types::ListWebAuthnCredentialsResponse#next_token #next_token} => String
8732
+ #
8733
+ # @example Request syntax with placeholder values
8734
+ #
8735
+ # resp = client.list_web_authn_credentials({
8736
+ # access_token: "TokenModelType", # required
8737
+ # next_token: "PaginationKey",
8738
+ # max_results: 1,
8739
+ # })
8740
+ #
8741
+ # @example Response structure
8742
+ #
8743
+ # resp.credentials #=> Array
8744
+ # resp.credentials[0].credential_id #=> String
8745
+ # resp.credentials[0].friendly_credential_name #=> String
8746
+ # resp.credentials[0].relying_party_id #=> String
8747
+ # resp.credentials[0].authenticator_attachment #=> String
8748
+ # resp.credentials[0].authenticator_transports #=> Array
8749
+ # resp.credentials[0].authenticator_transports[0] #=> String
8750
+ # resp.credentials[0].created_at #=> Time
8751
+ # resp.next_token #=> String
8752
+ #
8753
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/ListWebAuthnCredentials AWS API Documentation
8754
+ #
8755
+ # @overload list_web_authn_credentials(params = {})
8756
+ # @param [Hash] params ({})
8757
+ def list_web_authn_credentials(params = {}, options = {})
8758
+ req = build_request(:list_web_authn_credentials, params)
8759
+ req.send_request(options)
8760
+ end
8761
+
8090
8762
  # Resends the confirmation (for confirmation of registration) to a
8091
8763
  # specific user in the user pool.
8092
8764
  #
@@ -8109,7 +8781,7 @@ module Aws::CognitoIdentityProvider
8109
8781
  # sign in.
8110
8782
  #
8111
8783
  # If you have never used SMS text messages with Amazon Cognito or any
8112
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
8784
+ # other Amazon Web Services service, Amazon Simple Notification Service
8113
8785
  # might place your account in the SMS sandbox. In <i> <a
8114
8786
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
8115
8787
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -8255,7 +8927,7 @@ module Aws::CognitoIdentityProvider
8255
8927
  # sign in.
8256
8928
  #
8257
8929
  # If you have never used SMS text messages with Amazon Cognito or any
8258
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
8930
+ # other Amazon Web Services service, Amazon Simple Notification Service
8259
8931
  # might place your account in the SMS sandbox. In <i> <a
8260
8932
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
8261
8933
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -8299,17 +8971,58 @@ module Aws::CognitoIdentityProvider
8299
8971
  # challenge-response parameters.
8300
8972
  #
8301
8973
  # You must provide a SECRET\_HASH parameter in all challenge responses
8302
- # to an app client that has a client secret.
8974
+ # to an app client that has a client secret. Include a `DEVICE_KEY` for
8975
+ # device authentication.
8303
8976
  #
8304
- # SMS\_MFA
8977
+ # SELECT\_CHALLENGE
8978
+ #
8979
+ # : `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
8980
+ # "USERNAME": "[username]", "ANSWER": "[Challenge name]"}`
8981
+ #
8982
+ # Available challenges are `PASSWORD`, `PASSWORD_SRP`, `EMAIL_OTP`,
8983
+ # `SMS_OTP`, and `WEB_AUTHN`.
8984
+ #
8985
+ # Complete authentication in the `SELECT_CHALLENGE` response for
8986
+ # `PASSWORD`, `PASSWORD_SRP`, and `WEB_AUTHN`:
8987
+ #
8988
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
8989
+ # "ANSWER": "WEB_AUTHN", "USERNAME": "[username]", "CREDENTIAL":
8990
+ # "[AuthenticationResponseJSON]"}`
8991
+ #
8992
+ # See [ AuthenticationResponseJSON][1].
8993
+ #
8994
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
8995
+ # "ANSWER": "PASSWORD", "USERNAME": "[username]", "PASSWORD":
8996
+ # "[password]"}`
8305
8997
  #
8306
- # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": \{"SMS_MFA_CODE":
8307
- # "[code]", "USERNAME": "[username]"\}`
8998
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
8999
+ # "ANSWER": "PASSWORD_SRP", "USERNAME": "[username]", "SRP_A":
9000
+ # "[SRP_A]"}`
9001
+ #
9002
+ # For `SMS_OTP` and `EMAIL_OTP`, respond with the username and answer.
9003
+ # Your user pool will send a code for the user to submit in the next
9004
+ # challenge response.
9005
+ #
9006
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
9007
+ # "ANSWER": "SMS_OTP", "USERNAME": "[username]"}`
9008
+ #
9009
+ # * `"ChallengeName": "SELECT_CHALLENGE", "ChallengeResponses": {
9010
+ # "ANSWER": "EMAIL_OTP", "USERNAME": "[username]"}`
9011
+ #
9012
+ # SMS\_OTP
9013
+ #
9014
+ # : `"ChallengeName": "SMS_OTP", "ChallengeResponses": {"SMS_OTP_CODE":
9015
+ # "[code]", "USERNAME": "[username]"}`
8308
9016
  #
8309
9017
  # EMAIL\_OTP
8310
9018
  #
8311
9019
  # : `"ChallengeName": "EMAIL_OTP", "ChallengeResponses":
8312
- # \{"EMAIL_OTP_CODE": "[code]", "USERNAME": "[username]"\}`
9020
+ # {"EMAIL_OTP_CODE": "[code]", "USERNAME": "[username]"}`
9021
+ #
9022
+ # SMS\_MFA
9023
+ #
9024
+ # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE":
9025
+ # "[code]", "USERNAME": "[username]"}`
8313
9026
  #
8314
9027
  # PASSWORD\_VERIFIER
8315
9028
  #
@@ -8319,23 +9032,23 @@ module Aws::CognitoIdentityProvider
8319
9032
  # pool returns a `NotAuthorizedException` error.
8320
9033
  #
8321
9034
  # `"ChallengeName": "PASSWORD_VERIFIER", "ChallengeResponses":
8322
- # \{"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]",
9035
+ # {"PASSWORD_CLAIM_SIGNATURE": "[claim_signature]",
8323
9036
  # "PASSWORD_CLAIM_SECRET_BLOCK": "[secret_block]", "TIMESTAMP":
8324
- # [timestamp], "USERNAME": "[username]"\}`
9037
+ # [timestamp], "USERNAME": "[username]"}`
8325
9038
  #
8326
9039
  # Add `"DEVICE_KEY"` when you sign in with a remembered device.
8327
9040
  #
8328
9041
  # CUSTOM\_CHALLENGE
8329
9042
  #
8330
9043
  # : `"ChallengeName": "CUSTOM_CHALLENGE", "ChallengeResponses":
8331
- # \{"USERNAME": "[username]", "ANSWER": "[challenge_answer]"\}`
9044
+ # {"USERNAME": "[username]", "ANSWER": "[challenge_answer]"}`
8332
9045
  #
8333
9046
  # Add `"DEVICE_KEY"` when you sign in with a remembered device.
8334
9047
  #
8335
9048
  # NEW\_PASSWORD\_REQUIRED
8336
9049
  #
8337
9050
  # : `"ChallengeName": "NEW_PASSWORD_REQUIRED", "ChallengeResponses":
8338
- # \{"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"\}`
9051
+ # {"NEW_PASSWORD": "[new_password]", "USERNAME": "[username]"}`
8339
9052
  #
8340
9053
  # To set any required attributes that `InitiateAuth` returned in an
8341
9054
  # `requiredAttributes` parameter, add
@@ -8355,42 +9068,43 @@ module Aws::CognitoIdentityProvider
8355
9068
  # SOFTWARE\_TOKEN\_MFA
8356
9069
  #
8357
9070
  # : `"ChallengeName": "SOFTWARE_TOKEN_MFA", "ChallengeResponses":
8358
- # \{"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE":
8359
- # [authenticator_code]\}`
9071
+ # {"USERNAME": "[username]", "SOFTWARE_TOKEN_MFA_CODE":
9072
+ # [authenticator_code]}`
8360
9073
  #
8361
9074
  # DEVICE\_SRP\_AUTH
8362
9075
  #
8363
9076
  # : `"ChallengeName": "DEVICE_SRP_AUTH", "ChallengeResponses":
8364
- # \{"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A":
8365
- # "[srp_a]"\}`
9077
+ # {"USERNAME": "[username]", "DEVICE_KEY": "[device_key]", "SRP_A":
9078
+ # "[srp_a]"}`
8366
9079
  #
8367
9080
  # DEVICE\_PASSWORD\_VERIFIER
8368
9081
  #
8369
9082
  # : `"ChallengeName": "DEVICE_PASSWORD_VERIFIER", "ChallengeResponses":
8370
- # \{"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE":
9083
+ # {"DEVICE_KEY": "[device_key]", "PASSWORD_CLAIM_SIGNATURE":
8371
9084
  # "[claim_signature]", "PASSWORD_CLAIM_SECRET_BLOCK":
8372
9085
  # "[secret_block]", "TIMESTAMP": [timestamp], "USERNAME":
8373
- # "[username]"\}`
9086
+ # "[username]"}`
8374
9087
  #
8375
9088
  # MFA\_SETUP
8376
9089
  #
8377
- # : `"ChallengeName": "MFA_SETUP", "ChallengeResponses": \{"USERNAME":
8378
- # "[username]"\}, "SESSION": "[Session ID from VerifySoftwareToken]"`
9090
+ # : `"ChallengeName": "MFA_SETUP", "ChallengeResponses": {"USERNAME":
9091
+ # "[username]"}, "SESSION": "[Session ID from VerifySoftwareToken]"`
8379
9092
  #
8380
9093
  # SELECT\_MFA\_TYPE
8381
9094
  #
8382
9095
  # : `"ChallengeName": "SELECT_MFA_TYPE", "ChallengeResponses":
8383
- # \{"USERNAME": "[username]", "ANSWER": "[SMS_MFA or
8384
- # SOFTWARE_TOKEN_MFA]"\}`
9096
+ # {"USERNAME": "[username]", "ANSWER": "[SMS_MFA or
9097
+ # SOFTWARE_TOKEN_MFA]"}`
8385
9098
  #
8386
9099
  # For more information about `SECRET_HASH`, see [Computing secret hash
8387
- # values][1]. For information about `DEVICE_KEY`, see [Working with user
8388
- # devices in your user pool][2].
9100
+ # values][2]. For information about `DEVICE_KEY`, see [Working with user
9101
+ # devices in your user pool][3].
8389
9102
  #
8390
9103
  #
8391
9104
  #
8392
- # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#cognito-user-pools-computing-secret-hash
8393
- # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html
9105
+ # [1]: https://www.w3.org/TR/webauthn-3/#dictdef-authenticationresponsejson
9106
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#cognito-user-pools-computing-secret-hash
9107
+ # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-device-tracking.html
8394
9108
  #
8395
9109
  # @option params [Types::AnalyticsMetadataType] :analytics_metadata
8396
9110
  # The Amazon Pinpoint analytics metadata that contributes to your
@@ -8453,7 +9167,7 @@ module Aws::CognitoIdentityProvider
8453
9167
  #
8454
9168
  # resp = client.respond_to_auth_challenge({
8455
9169
  # client_id: "ClientIdType", # required
8456
- # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, EMAIL_OTP, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED
9170
+ # challenge_name: "SMS_MFA", # required, accepts SMS_MFA, EMAIL_OTP, SOFTWARE_TOKEN_MFA, SELECT_MFA_TYPE, MFA_SETUP, PASSWORD_VERIFIER, CUSTOM_CHALLENGE, SELECT_CHALLENGE, DEVICE_SRP_AUTH, DEVICE_PASSWORD_VERIFIER, ADMIN_NO_SRP_AUTH, NEW_PASSWORD_REQUIRED, SMS_OTP, PASSWORD, WEB_AUTHN, PASSWORD_SRP
8457
9171
  # session: "SessionType",
8458
9172
  # challenge_responses: {
8459
9173
  # "StringType" => "StringType",
@@ -8472,7 +9186,7 @@ module Aws::CognitoIdentityProvider
8472
9186
  #
8473
9187
  # @example Response structure
8474
9188
  #
8475
- # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED"
9189
+ # resp.challenge_name #=> String, one of "SMS_MFA", "EMAIL_OTP", "SOFTWARE_TOKEN_MFA", "SELECT_MFA_TYPE", "MFA_SETUP", "PASSWORD_VERIFIER", "CUSTOM_CHALLENGE", "SELECT_CHALLENGE", "DEVICE_SRP_AUTH", "DEVICE_PASSWORD_VERIFIER", "ADMIN_NO_SRP_AUTH", "NEW_PASSWORD_REQUIRED", "SMS_OTP", "PASSWORD", "WEB_AUTHN", "PASSWORD_SRP"
8476
9190
  # resp.session #=> String
8477
9191
  # resp.challenge_parameters #=> Hash
8478
9192
  # resp.challenge_parameters["StringType"] #=> String
@@ -8860,7 +9574,8 @@ module Aws::CognitoIdentityProvider
8860
9574
  req.send_request(options)
8861
9575
  end
8862
9576
 
8863
- # Sets the user pool multi-factor authentication (MFA) configuration.
9577
+ # Sets the user pool multi-factor authentication (MFA) and passkey
9578
+ # configuration.
8864
9579
  #
8865
9580
  # <note markdown="1"> This action might generate an SMS text message. Starting June 1, 2021,
8866
9581
  # US telecom carriers require you to register an origination phone
@@ -8872,7 +9587,7 @@ module Aws::CognitoIdentityProvider
8872
9587
  # sign in.
8873
9588
  #
8874
9589
  # If you have never used SMS text messages with Amazon Cognito or any
8875
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
9590
+ # other Amazon Web Services service, Amazon Simple Notification Service
8876
9591
  # might place your account in the SMS sandbox. In <i> <a
8877
9592
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
8878
9593
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -8926,12 +9641,18 @@ module Aws::CognitoIdentityProvider
8926
9641
  #
8927
9642
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa.html
8928
9643
  #
9644
+ # @option params [Types::WebAuthnConfigurationType] :web_authn_configuration
9645
+ # The configuration of your user pool for passkey, or webauthN,
9646
+ # authentication and registration. You can set this configuration
9647
+ # independent of the MFA configuration options in this operation.
9648
+ #
8929
9649
  # @return [Types::SetUserPoolMfaConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8930
9650
  #
8931
9651
  # * {Types::SetUserPoolMfaConfigResponse#sms_mfa_configuration #sms_mfa_configuration} => Types::SmsMfaConfigType
8932
9652
  # * {Types::SetUserPoolMfaConfigResponse#software_token_mfa_configuration #software_token_mfa_configuration} => Types::SoftwareTokenMfaConfigType
8933
9653
  # * {Types::SetUserPoolMfaConfigResponse#email_mfa_configuration #email_mfa_configuration} => Types::EmailMfaConfigType
8934
9654
  # * {Types::SetUserPoolMfaConfigResponse#mfa_configuration #mfa_configuration} => String
9655
+ # * {Types::SetUserPoolMfaConfigResponse#web_authn_configuration #web_authn_configuration} => Types::WebAuthnConfigurationType
8935
9656
  #
8936
9657
  # @example Request syntax with placeholder values
8937
9658
  #
@@ -8953,6 +9674,10 @@ module Aws::CognitoIdentityProvider
8953
9674
  # subject: "EmailMfaSubjectType",
8954
9675
  # },
8955
9676
  # mfa_configuration: "OFF", # accepts OFF, ON, OPTIONAL
9677
+ # web_authn_configuration: {
9678
+ # relying_party_id: "RelyingPartyIdType",
9679
+ # user_verification: "required", # accepts required, preferred
9680
+ # },
8956
9681
  # })
8957
9682
  #
8958
9683
  # @example Response structure
@@ -8965,6 +9690,8 @@ module Aws::CognitoIdentityProvider
8965
9690
  # resp.email_mfa_configuration.message #=> String
8966
9691
  # resp.email_mfa_configuration.subject #=> String
8967
9692
  # resp.mfa_configuration #=> String, one of "OFF", "ON", "OPTIONAL"
9693
+ # resp.web_authn_configuration.relying_party_id #=> String
9694
+ # resp.web_authn_configuration.user_verification #=> String, one of "required", "preferred"
8968
9695
  #
8969
9696
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserPoolMfaConfig AWS API Documentation
8970
9697
  #
@@ -9050,7 +9777,7 @@ module Aws::CognitoIdentityProvider
9050
9777
  # sign in.
9051
9778
  #
9052
9779
  # If you have never used SMS text messages with Amazon Cognito or any
9053
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
9780
+ # other Amazon Web Services service, Amazon Simple Notification Service
9054
9781
  # might place your account in the SMS sandbox. In <i> <a
9055
9782
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
9056
9783
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -9061,11 +9788,21 @@ module Aws::CognitoIdentityProvider
9061
9788
  #
9062
9789
  # </note>
9063
9790
  #
9791
+ # You might receive a `LimitExceeded` exception in response to this
9792
+ # request if you have exceeded a rate quota for email or SMS messages,
9793
+ # and if your user pool automatically verifies email addresses or phone
9794
+ # numbers. When you get this exception in the response, the user is
9795
+ # successfully created and is in an `UNCONFIRMED` state. You can send a
9796
+ # new code with the [ ResendConfirmationCode][4] request, or confirm the
9797
+ # user as an administrator with an [ AdminConfirmSignUp][5] request.
9798
+ #
9064
9799
  #
9065
9800
  #
9066
9801
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html
9067
9802
  # [2]: https://console.aws.amazon.com/pinpoint/home/
9068
9803
  # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html
9804
+ # [4]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ResendConfirmationCode.html
9805
+ # [5]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminConfirmSignUp.html
9069
9806
  #
9070
9807
  # @option params [required, String] :client_id
9071
9808
  # The ID of the client associated with the user pool.
@@ -9080,9 +9817,22 @@ module Aws::CognitoIdentityProvider
9080
9817
  # parameter is typically a username, but can be any alias attribute in
9081
9818
  # your user pool.
9082
9819
  #
9083
- # @option params [required, String] :password
9820
+ # @option params [String] :password
9084
9821
  # The password of the user you want to register.
9085
9822
  #
9823
+ # Users can sign up without a password when your user pool supports
9824
+ # passwordless sign-in with email or SMS OTPs. To create a user with no
9825
+ # password, omit this parameter or submit a blank value. You can only
9826
+ # create a passwordless user when passwordless sign-in is available. See
9827
+ # [the SignInPolicyType][1] property of [CreateUserPool][2] and
9828
+ # [UpdateUserPool][3].
9829
+ #
9830
+ #
9831
+ #
9832
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SignInPolicyType.html
9833
+ # [2]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateUserPool.html
9834
+ # [3]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UpdateUserPool.html
9835
+ #
9086
9836
  # @option params [Array<Types::AttributeType>] :user_attributes
9087
9837
  # An array of name-value pairs representing user attributes.
9088
9838
  #
@@ -9162,6 +9912,7 @@ module Aws::CognitoIdentityProvider
9162
9912
  # * {Types::SignUpResponse#user_confirmed #user_confirmed} => Boolean
9163
9913
  # * {Types::SignUpResponse#code_delivery_details #code_delivery_details} => Types::CodeDeliveryDetailsType
9164
9914
  # * {Types::SignUpResponse#user_sub #user_sub} => String
9915
+ # * {Types::SignUpResponse#session #session} => String
9165
9916
  #
9166
9917
  # @example Request syntax with placeholder values
9167
9918
  #
@@ -9169,7 +9920,7 @@ module Aws::CognitoIdentityProvider
9169
9920
  # client_id: "ClientIdType", # required
9170
9921
  # secret_hash: "SecretHashType",
9171
9922
  # username: "UsernameType", # required
9172
- # password: "PasswordType", # required
9923
+ # password: "PasswordType",
9173
9924
  # user_attributes: [
9174
9925
  # {
9175
9926
  # name: "AttributeNameType", # required
@@ -9201,6 +9952,7 @@ module Aws::CognitoIdentityProvider
9201
9952
  # resp.code_delivery_details.delivery_medium #=> String, one of "SMS", "EMAIL"
9202
9953
  # resp.code_delivery_details.attribute_name #=> String
9203
9954
  # resp.user_sub #=> String
9955
+ # resp.session #=> String
9204
9956
  #
9205
9957
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SignUp AWS API Documentation
9206
9958
  #
@@ -9256,6 +10008,50 @@ module Aws::CognitoIdentityProvider
9256
10008
  req.send_request(options)
9257
10009
  end
9258
10010
 
10011
+ # Requests credential creation options from your user pool for
10012
+ # registration of a passkey authenticator. Returns information about the
10013
+ # user pool, the user profile, and authentication requirements. Users
10014
+ # must provide this information in their request to enroll your
10015
+ # application with their passkey provider.
10016
+ #
10017
+ # After users present this data and register with their passkey
10018
+ # provider, return the response to your user pool in a [
10019
+ # CompleteWebAuthnRegistration][1] API request.
10020
+ #
10021
+ # Authorize this action with a signed-in user's access token. It must
10022
+ # include the scope `aws.cognito.signin.user.admin`.
10023
+ #
10024
+ #
10025
+ #
10026
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CompleteWebAuthnRegistration.html
10027
+ #
10028
+ # @option params [required, String] :access_token
10029
+ # A valid access token that Amazon Cognito issued to the user whose
10030
+ # passkey metadata you want to generate.
10031
+ #
10032
+ # @return [Types::StartWebAuthnRegistrationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10033
+ #
10034
+ # * {Types::StartWebAuthnRegistrationResponse#credential_creation_options #credential_creation_options} => Hash,Array,String,Numeric,Boolean
10035
+ #
10036
+ # @example Request syntax with placeholder values
10037
+ #
10038
+ # resp = client.start_web_authn_registration({
10039
+ # access_token: "TokenModelType", # required
10040
+ # })
10041
+ #
10042
+ # @example Response structure
10043
+ #
10044
+ #
10045
+ #
10046
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/StartWebAuthnRegistration AWS API Documentation
10047
+ #
10048
+ # @overload start_web_authn_registration(params = {})
10049
+ # @param [Hash] params ({})
10050
+ def start_web_authn_registration(params = {}, options = {})
10051
+ req = build_request(:start_web_authn_registration, params)
10052
+ req.send_request(options)
10053
+ end
10054
+
9259
10055
  # Stops the user import job.
9260
10056
  #
9261
10057
  # @option params [required, String] :user_pool_id
@@ -9600,7 +10396,7 @@ module Aws::CognitoIdentityProvider
9600
10396
  # discover endpoint URLs from `oidc_issuer`: `attributes_url`,
9601
10397
  # `authorize_url`, `jwks_uri`, `token_url`.
9602
10398
  #
9603
- # Create or update request: `"ProviderDetails": \{
10399
+ # Create or update request: `"ProviderDetails": {
9604
10400
  # "attributes_request_method": "GET", "attributes_url":
9605
10401
  # "https://auth.example.com/userInfo", "authorize_scopes": "openid
9606
10402
  # profile email", "authorize_url":
@@ -9608,9 +10404,9 @@ module Aws::CognitoIdentityProvider
9608
10404
  # "1example23456789", "client_secret": "provider-app-client-secret",
9609
10405
  # "jwks_uri": "https://auth.example.com/.well-known/jwks.json",
9610
10406
  # "oidc_issuer": "https://auth.example.com", "token_url":
9611
- # "https://example.com/token" \}`
10407
+ # "https://example.com/token" }`
9612
10408
  #
9613
- # Describe response: `"ProviderDetails": \{
10409
+ # Describe response: `"ProviderDetails": {
9614
10410
  # "attributes_request_method": "GET", "attributes_url":
9615
10411
  # "https://auth.example.com/userInfo",
9616
10412
  # "attributes_url_add_attributes": "false", "authorize_scopes":
@@ -9619,55 +10415,55 @@ module Aws::CognitoIdentityProvider
9619
10415
  # "1example23456789", "client_secret": "provider-app-client-secret",
9620
10416
  # "jwks_uri": "https://auth.example.com/.well-known/jwks.json",
9621
10417
  # "oidc_issuer": "https://auth.example.com", "token_url":
9622
- # "https://example.com/token" \}`
10418
+ # "https://example.com/token" }`
9623
10419
  #
9624
10420
  # SAML
9625
10421
  #
9626
- # : Create or update request with Metadata URL: `"ProviderDetails": \{
10422
+ # : Create or update request with Metadata URL: `"ProviderDetails": {
9627
10423
  # "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" :
9628
10424
  # "true", "MetadataURL": "https://auth.example.com/sso/saml/metadata",
9629
- # "RequestSigningAlgorithm": "rsa-sha256" \}`
10425
+ # "RequestSigningAlgorithm": "rsa-sha256" }`
9630
10426
  #
9631
- # Create or update request with Metadata file: `"ProviderDetails": \{
10427
+ # Create or update request with Metadata file: `"ProviderDetails": {
9632
10428
  # "IDPInit": "true", "IDPSignout": "true", "EncryptedResponses" :
9633
10429
  # "true", "MetadataFile": "[metadata XML]", "RequestSigningAlgorithm":
9634
- # "rsa-sha256" \}`
10430
+ # "rsa-sha256" }`
9635
10431
  #
9636
10432
  # The value of `MetadataFile` must be the plaintext metadata document
9637
10433
  # with all quote (") characters escaped by backslashes.
9638
10434
  #
9639
- # Describe response: `"ProviderDetails": \{ "IDPInit": "true",
10435
+ # Describe response: `"ProviderDetails": { "IDPInit": "true",
9640
10436
  # "IDPSignout": "true", "EncryptedResponses" : "true",
9641
10437
  # "ActiveEncryptionCertificate": "[certificate]", "MetadataURL":
9642
10438
  # "https://auth.example.com/sso/saml/metadata",
9643
10439
  # "RequestSigningAlgorithm": "rsa-sha256", "SLORedirectBindingURI":
9644
10440
  # "https://auth.example.com/slo/saml", "SSORedirectBindingURI":
9645
- # "https://auth.example.com/sso/saml" \}`
10441
+ # "https://auth.example.com/sso/saml" }`
9646
10442
  #
9647
10443
  # LoginWithAmazon
9648
10444
  #
9649
- # : Create or update request: `"ProviderDetails": \{ "authorize_scopes":
10445
+ # : Create or update request: `"ProviderDetails": { "authorize_scopes":
9650
10446
  # "profile postal_code", "client_id":
9651
10447
  # "amzn1.application-oa2-client.1example23456789", "client_secret":
9652
10448
  # "provider-app-client-secret"`
9653
10449
  #
9654
- # Describe response: `"ProviderDetails": \{ "attributes_url":
10450
+ # Describe response: `"ProviderDetails": { "attributes_url":
9655
10451
  # "https://api.amazon.com/user/profile",
9656
10452
  # "attributes_url_add_attributes": "false", "authorize_scopes":
9657
10453
  # "profile postal_code", "authorize_url":
9658
10454
  # "https://www.amazon.com/ap/oa", "client_id":
9659
10455
  # "amzn1.application-oa2-client.1example23456789", "client_secret":
9660
10456
  # "provider-app-client-secret", "token_request_method": "POST",
9661
- # "token_url": "https://api.amazon.com/auth/o2/token" \}`
10457
+ # "token_url": "https://api.amazon.com/auth/o2/token" }`
9662
10458
  #
9663
10459
  # Google
9664
10460
  #
9665
- # : Create or update request: `"ProviderDetails": \{ "authorize_scopes":
10461
+ # : Create or update request: `"ProviderDetails": { "authorize_scopes":
9666
10462
  # "email profile openid", "client_id":
9667
10463
  # "1example23456789.apps.googleusercontent.com", "client_secret":
9668
- # "provider-app-client-secret" \}`
10464
+ # "provider-app-client-secret" }`
9669
10465
  #
9670
- # Describe response: `"ProviderDetails": \{ "attributes_url":
10466
+ # Describe response: `"ProviderDetails": { "attributes_url":
9671
10467
  # "https://people.googleapis.com/v1/people/me?personFields=",
9672
10468
  # "attributes_url_add_attributes": "true", "authorize_scopes": "email
9673
10469
  # profile openid", "authorize_url":
@@ -9675,37 +10471,36 @@ module Aws::CognitoIdentityProvider
9675
10471
  # "1example23456789.apps.googleusercontent.com", "client_secret":
9676
10472
  # "provider-app-client-secret", "oidc_issuer":
9677
10473
  # "https://accounts.google.com", "token_request_method": "POST",
9678
- # "token_url": "https://www.googleapis.com/oauth2/v4/token" \}`
10474
+ # "token_url": "https://www.googleapis.com/oauth2/v4/token" }`
9679
10475
  #
9680
10476
  # SignInWithApple
9681
10477
  #
9682
- # : Create or update request: `"ProviderDetails": \{ "authorize_scopes":
10478
+ # : Create or update request: `"ProviderDetails": { "authorize_scopes":
9683
10479
  # "email name", "client_id": "com.example.cognito", "private_key":
9684
- # "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" \}`
10480
+ # "1EXAMPLE", "key_id": "2EXAMPLE", "team_id": "3EXAMPLE" }`
9685
10481
  #
9686
- # Describe response: `"ProviderDetails": \{
10482
+ # Describe response: `"ProviderDetails": {
9687
10483
  # "attributes_url_add_attributes": "false", "authorize_scopes": "email
9688
10484
  # name", "authorize_url": "https://appleid.apple.com/auth/authorize",
9689
10485
  # "client_id": "com.example.cognito", "key_id": "1EXAMPLE",
9690
10486
  # "oidc_issuer": "https://appleid.apple.com", "team_id": "2EXAMPLE",
9691
10487
  # "token_request_method": "POST", "token_url":
9692
- # "https://appleid.apple.com/auth/token" \}`
10488
+ # "https://appleid.apple.com/auth/token" }`
9693
10489
  #
9694
10490
  # Facebook
9695
10491
  #
9696
- # : Create or update request: `"ProviderDetails": \{ "api_version":
10492
+ # : Create or update request: `"ProviderDetails": { "api_version":
9697
10493
  # "v17.0", "authorize_scopes": "public_profile, email", "client_id":
9698
- # "1example23456789", "client_secret": "provider-app-client-secret"
9699
- # \}`
10494
+ # "1example23456789", "client_secret": "provider-app-client-secret" }`
9700
10495
  #
9701
- # Describe response: `"ProviderDetails": \{ "api_version": "v17.0",
10496
+ # Describe response: `"ProviderDetails": { "api_version": "v17.0",
9702
10497
  # "attributes_url": "https://graph.facebook.com/v17.0/me?fields=",
9703
10498
  # "attributes_url_add_attributes": "true", "authorize_scopes":
9704
10499
  # "public_profile, email", "authorize_url":
9705
10500
  # "https://www.facebook.com/v17.0/dialog/oauth", "client_id":
9706
10501
  # "1example23456789", "client_secret": "provider-app-client-secret",
9707
10502
  # "token_request_method": "GET", "token_url":
9708
- # "https://graph.facebook.com/v17.0/oauth/access_token" \}`
10503
+ # "https://graph.facebook.com/v17.0/oauth/access_token" }`
9709
10504
  #
9710
10505
  # @option params [Hash<String,String>] :attribute_mapping
9711
10506
  # The IdP attribute mapping to be changed.
@@ -9754,6 +10549,118 @@ module Aws::CognitoIdentityProvider
9754
10549
  req.send_request(options)
9755
10550
  end
9756
10551
 
10552
+ # Configures the branding settings for a user pool style. This operation
10553
+ # is the programmatic option for the configuration of a style in the
10554
+ # branding designer.
10555
+ #
10556
+ # Provides values for UI customization in a `Settings` JSON object and
10557
+ # image files in an `Assets` array.
10558
+ #
10559
+ # This operation has a 2-megabyte request-size limit and include the CSS
10560
+ # settings and image assets for your app client. Your branding settings
10561
+ # might exceed 2MB in size. Amazon Cognito doesn't require that you
10562
+ # pass all parameters in one request and preserves existing style
10563
+ # settings that you don't specify. If your request is larger than 2MB,
10564
+ # separate it into multiple requests, each with a size smaller than the
10565
+ # limit.
10566
+ #
10567
+ # For more information, see [API and SDK operations for managed login
10568
+ # branding][1].
10569
+ #
10570
+ # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
10571
+ # in requests for this API operation. For this operation, you must use
10572
+ # IAM credentials to authorize requests, and you must grant yourself the
10573
+ # corresponding IAM permission in a policy.
10574
+ #
10575
+ # **Learn more**
10576
+ #
10577
+ # * [Signing Amazon Web Services API Requests][2]
10578
+ #
10579
+ # * [Using the Amazon Cognito user pools API and user pool endpoints][3]
10580
+ #
10581
+ # </note>
10582
+ #
10583
+ #
10584
+ #
10585
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/managed-login-brandingdesigner.html#branding-designer-api
10586
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-signing.html
10587
+ # [3]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html
10588
+ #
10589
+ # @option params [String] :user_pool_id
10590
+ # The ID of the user pool that contains the managed login branding style
10591
+ # that you want to update.
10592
+ #
10593
+ # @option params [String] :managed_login_branding_id
10594
+ # The ID of the managed login branding style that you want to update.
10595
+ #
10596
+ # @option params [Boolean] :use_cognito_provided_values
10597
+ # When true, applies the default branding style options. This option
10598
+ # reverts to default style options that are managed by Amazon Cognito.
10599
+ # You can modify them later in the branding designer.
10600
+ #
10601
+ # When you specify `true` for this option, you must also omit values for
10602
+ # `Settings` and `Assets` in the request.
10603
+ #
10604
+ # @option params [Hash,Array,String,Numeric,Boolean] :settings
10605
+ # A JSON file, encoded as a `Document` type, with the the settings that
10606
+ # you want to apply to your style.
10607
+ #
10608
+ # Document type used to carry open content
10609
+ # (Hash,Array,String,Numeric,Boolean). A document type value is
10610
+ # serialized using the same format as its surroundings and requires no
10611
+ # additional encoding or escaping.
10612
+ #
10613
+ # @option params [Array<Types::AssetType>] :assets
10614
+ # An array of image files that you want to apply to roles like
10615
+ # backgrounds, logos, and icons. Each object must also indicate whether
10616
+ # it is for dark mode, light mode, or browser-adaptive mode.
10617
+ #
10618
+ # @return [Types::UpdateManagedLoginBrandingResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10619
+ #
10620
+ # * {Types::UpdateManagedLoginBrandingResponse#managed_login_branding #managed_login_branding} => Types::ManagedLoginBrandingType
10621
+ #
10622
+ # @example Request syntax with placeholder values
10623
+ #
10624
+ # resp = client.update_managed_login_branding({
10625
+ # user_pool_id: "UserPoolIdType",
10626
+ # managed_login_branding_id: "ManagedLoginBrandingIdType",
10627
+ # use_cognito_provided_values: false,
10628
+ # settings: {
10629
+ # },
10630
+ # assets: [
10631
+ # {
10632
+ # category: "FAVICON_ICO", # required, accepts FAVICON_ICO, FAVICON_SVG, EMAIL_GRAPHIC, SMS_GRAPHIC, AUTH_APP_GRAPHIC, PASSWORD_GRAPHIC, PASSKEY_GRAPHIC, PAGE_HEADER_LOGO, PAGE_HEADER_BACKGROUND, PAGE_FOOTER_LOGO, PAGE_FOOTER_BACKGROUND, PAGE_BACKGROUND, FORM_BACKGROUND, FORM_LOGO, IDP_BUTTON_ICON
10633
+ # color_mode: "LIGHT", # required, accepts LIGHT, DARK, DYNAMIC
10634
+ # extension: "ICO", # required, accepts ICO, JPEG, PNG, SVG, WEBP
10635
+ # bytes: "data",
10636
+ # resource_id: "ResourceIdType",
10637
+ # },
10638
+ # ],
10639
+ # })
10640
+ #
10641
+ # @example Response structure
10642
+ #
10643
+ # resp.managed_login_branding.managed_login_branding_id #=> String
10644
+ # resp.managed_login_branding.user_pool_id #=> String
10645
+ # resp.managed_login_branding.use_cognito_provided_values #=> Boolean
10646
+ # resp.managed_login_branding.assets #=> Array
10647
+ # resp.managed_login_branding.assets[0].category #=> String, one of "FAVICON_ICO", "FAVICON_SVG", "EMAIL_GRAPHIC", "SMS_GRAPHIC", "AUTH_APP_GRAPHIC", "PASSWORD_GRAPHIC", "PASSKEY_GRAPHIC", "PAGE_HEADER_LOGO", "PAGE_HEADER_BACKGROUND", "PAGE_FOOTER_LOGO", "PAGE_FOOTER_BACKGROUND", "PAGE_BACKGROUND", "FORM_BACKGROUND", "FORM_LOGO", "IDP_BUTTON_ICON"
10648
+ # resp.managed_login_branding.assets[0].color_mode #=> String, one of "LIGHT", "DARK", "DYNAMIC"
10649
+ # resp.managed_login_branding.assets[0].extension #=> String, one of "ICO", "JPEG", "PNG", "SVG", "WEBP"
10650
+ # resp.managed_login_branding.assets[0].bytes #=> String
10651
+ # resp.managed_login_branding.assets[0].resource_id #=> String
10652
+ # resp.managed_login_branding.creation_date #=> Time
10653
+ # resp.managed_login_branding.last_modified_date #=> Time
10654
+ #
10655
+ # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateManagedLoginBranding AWS API Documentation
10656
+ #
10657
+ # @overload update_managed_login_branding(params = {})
10658
+ # @param [Hash] params ({})
10659
+ def update_managed_login_branding(params = {}, options = {})
10660
+ req = build_request(:update_managed_login_branding, params)
10661
+ req.send_request(options)
10662
+ end
10663
+
9757
10664
  # Updates the name and scopes of resource server. All other fields are
9758
10665
  # read-only.
9759
10666
  #
@@ -9861,7 +10768,7 @@ module Aws::CognitoIdentityProvider
9861
10768
  # sign in.
9862
10769
  #
9863
10770
  # If you have never used SMS text messages with Amazon Cognito or any
9864
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
10771
+ # other Amazon Web Services service, Amazon Simple Notification Service
9865
10772
  # might place your account in the SMS sandbox. In <i> <a
9866
10773
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
9867
10774
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -9976,7 +10883,7 @@ module Aws::CognitoIdentityProvider
9976
10883
  # sign in.
9977
10884
  #
9978
10885
  # If you have never used SMS text messages with Amazon Cognito or any
9979
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
10886
+ # other Amazon Web Services service, Amazon Simple Notification Service
9980
10887
  # might place your account in the SMS sandbox. In <i> <a
9981
10888
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
9982
10889
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -10155,6 +11062,19 @@ module Aws::CognitoIdentityProvider
10155
11062
  # legacy behavior to determine the recovery method where SMS is
10156
11063
  # preferred through email.
10157
11064
  #
11065
+ # @option params [String] :pool_name
11066
+ # The updated name of your user pool.
11067
+ #
11068
+ # @option params [String] :user_pool_tier
11069
+ # The user pool [feature plan][1], or tier. This parameter determines
11070
+ # the eligibility of the user pool for features like managed login,
11071
+ # access-token customization, and threat protection. Defaults to
11072
+ # `ESSENTIALS`.
11073
+ #
11074
+ #
11075
+ #
11076
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-sign-in-feature-plans.html
11077
+ #
10158
11078
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10159
11079
  #
10160
11080
  # @example Request syntax with placeholder values
@@ -10171,6 +11091,9 @@ module Aws::CognitoIdentityProvider
10171
11091
  # password_history_size: 1,
10172
11092
  # temporary_password_validity_days: 1,
10173
11093
  # },
11094
+ # sign_in_policy: {
11095
+ # allowed_first_auth_factors: ["PASSWORD"], # accepts PASSWORD, EMAIL_OTP, SMS_OTP, WEB_AUTHN
11096
+ # },
10174
11097
  # },
10175
11098
  # deletion_protection: "ACTIVE", # accepts ACTIVE, INACTIVE
10176
11099
  # lambda_config: {
@@ -10238,8 +11161,8 @@ module Aws::CognitoIdentityProvider
10238
11161
  # allow_admin_create_user_only: false,
10239
11162
  # unused_account_validity_days: 1,
10240
11163
  # invite_message_template: {
10241
- # sms_message: "SmsVerificationMessageType",
10242
- # email_message: "EmailVerificationMessageType",
11164
+ # sms_message: "SmsInviteMessageType",
11165
+ # email_message: "EmailInviteMessageType",
10243
11166
  # email_subject: "EmailVerificationSubjectType",
10244
11167
  # },
10245
11168
  # },
@@ -10257,6 +11180,8 @@ module Aws::CognitoIdentityProvider
10257
11180
  # },
10258
11181
  # ],
10259
11182
  # },
11183
+ # pool_name: "UserPoolNameType",
11184
+ # user_pool_tier: "LITE", # accepts LITE, ESSENTIALS, PLUS
10260
11185
  # })
10261
11186
  #
10262
11187
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPool AWS API Documentation
@@ -10430,6 +11355,15 @@ module Aws::CognitoIdentityProvider
10430
11355
  #
10431
11356
  # Valid values include:
10432
11357
  #
11358
+ # * `ALLOW_USER_AUTH`: Enable selection-based sign-in with `USER_AUTH`.
11359
+ # This setting covers username-password, secure remote password (SRP),
11360
+ # passwordless, and passkey authentication. This authentiation flow
11361
+ # can do username-password and SRP authentication without other
11362
+ # `ExplicitAuthFlows` permitting them. For example users can complete
11363
+ # an SRP challenge through `USER_AUTH` without the flow
11364
+ # `USER_SRP_AUTH` being active for the app client. This flow doesn't
11365
+ # include `CUSTOM_AUTH`.
11366
+ #
10433
11367
  # * `ALLOW_ADMIN_USER_PASSWORD_AUTH`: Enable admin based user password
10434
11368
  # authentication flow `ADMIN_USER_PASSWORD_AUTH`. This setting
10435
11369
  # replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication
@@ -10455,10 +11389,23 @@ module Aws::CognitoIdentityProvider
10455
11389
  # `ALLOW_USER_SRP_AUTH`.
10456
11390
  #
10457
11391
  # @option params [Array<String>] :supported_identity_providers
10458
- # A list of provider names for the IdPs that this client supports. The
10459
- # following are supported: `COGNITO`, `Facebook`, `Google`,
10460
- # `SignInWithApple`, `LoginWithAmazon`, and the names of your own SAML
10461
- # and OIDC providers.
11392
+ # A list of provider names for the identity providers (IdPs) that are
11393
+ # supported on this client. The following are supported: `COGNITO`,
11394
+ # `Facebook`, `Google`, `SignInWithApple`, and `LoginWithAmazon`. You
11395
+ # can also specify the names that you configured for the SAML and OIDC
11396
+ # IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP`.
11397
+ #
11398
+ # This setting applies to providers that you can access with the [hosted
11399
+ # UI and OAuth 2.0 authorization server][1]. The removal of `COGNITO`
11400
+ # from this list doesn't prevent authentication operations for local
11401
+ # users with the user pools API in an Amazon Web Services SDK. The only
11402
+ # way to prevent API-based authentication is to block access with a [WAF
11403
+ # rule][2].
11404
+ #
11405
+ #
11406
+ #
11407
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-app-integration.html
11408
+ # [2]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-waf.html
10462
11409
  #
10463
11410
  # @option params [Array<String>] :callback_urls
10464
11411
  # A list of allowed redirect (callback) URLs for the IdPs.
@@ -10606,7 +11553,7 @@ module Aws::CognitoIdentityProvider
10606
11553
  #
10607
11554
  #
10608
11555
  #
10609
- # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-advanced-security.html
11556
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-settings-threat-protection.html
10610
11557
  #
10611
11558
  # @option params [Integer] :auth_session_validity
10612
11559
  # Amazon Cognito creates a session token for each API request in an
@@ -10634,7 +11581,7 @@ module Aws::CognitoIdentityProvider
10634
11581
  # },
10635
11582
  # read_attributes: ["ClientPermissionType"],
10636
11583
  # write_attributes: ["ClientPermissionType"],
10637
- # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUTH, ALLOW_ADMIN_USER_PASSWORD_AUTH, ALLOW_CUSTOM_AUTH, ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH, ALLOW_REFRESH_TOKEN_AUTH
11584
+ # explicit_auth_flows: ["ADMIN_NO_SRP_AUTH"], # accepts ADMIN_NO_SRP_AUTH, CUSTOM_AUTH_FLOW_ONLY, USER_PASSWORD_AUTH, ALLOW_ADMIN_USER_PASSWORD_AUTH, ALLOW_CUSTOM_AUTH, ALLOW_USER_PASSWORD_AUTH, ALLOW_USER_SRP_AUTH, ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_AUTH
10638
11585
  # supported_identity_providers: ["ProviderNameType"],
10639
11586
  # callback_urls: ["RedirectUrlType"],
10640
11587
  # logout_urls: ["RedirectUrlType"],
@@ -10674,7 +11621,7 @@ module Aws::CognitoIdentityProvider
10674
11621
  # resp.user_pool_client.write_attributes #=> Array
10675
11622
  # resp.user_pool_client.write_attributes[0] #=> String
10676
11623
  # resp.user_pool_client.explicit_auth_flows #=> Array
10677
- # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY", "USER_PASSWORD_AUTH", "ALLOW_ADMIN_USER_PASSWORD_AUTH", "ALLOW_CUSTOM_AUTH", "ALLOW_USER_PASSWORD_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH"
11624
+ # resp.user_pool_client.explicit_auth_flows[0] #=> String, one of "ADMIN_NO_SRP_AUTH", "CUSTOM_AUTH_FLOW_ONLY", "USER_PASSWORD_AUTH", "ALLOW_ADMIN_USER_PASSWORD_AUTH", "ALLOW_CUSTOM_AUTH", "ALLOW_USER_PASSWORD_AUTH", "ALLOW_USER_SRP_AUTH", "ALLOW_REFRESH_TOKEN_AUTH", "ALLOW_USER_AUTH"
10678
11625
  # resp.user_pool_client.supported_identity_providers #=> Array
10679
11626
  # resp.user_pool_client.supported_identity_providers[0] #=> String
10680
11627
  # resp.user_pool_client.callback_urls #=> Array
@@ -10769,13 +11716,35 @@ module Aws::CognitoIdentityProvider
10769
11716
  # The ID of the user pool that is associated with the custom domain
10770
11717
  # whose certificate you're updating.
10771
11718
  #
11719
+ # @option params [Integer] :managed_login_version
11720
+ # A version number that indicates the state of managed login for your
11721
+ # domain. Version `1` is hosted UI (classic). Version `2` is the newer
11722
+ # managed login with the branding designer. For more information, see
11723
+ # [Managed login][1].
11724
+ #
11725
+ #
11726
+ #
11727
+ # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-managed-login.html
11728
+ #
10772
11729
  # @option params [required, Types::CustomDomainConfigType] :custom_domain_config
10773
11730
  # The configuration for a custom domain that hosts the sign-up and
10774
11731
  # sign-in pages for your application. Use this object to specify an SSL
10775
11732
  # certificate that is managed by ACM.
10776
11733
  #
11734
+ # When you create a custom domain, the passkey RP ID defaults to the
11735
+ # custom domain. If you had a prefix domain active, this will cause
11736
+ # passkey integration for your prefix domain to stop working due to a
11737
+ # mismatch in RP ID. To keep the prefix domain passkey integration
11738
+ # working, you can explicitly set RP ID to the prefix domain. Update the
11739
+ # RP ID in a [SetUserPoolMfaConfig][1] request.
11740
+ #
11741
+ #
11742
+ #
11743
+ # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html
11744
+ #
10777
11745
  # @return [Types::UpdateUserPoolDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10778
11746
  #
11747
+ # * {Types::UpdateUserPoolDomainResponse#managed_login_version #managed_login_version} => Integer
10779
11748
  # * {Types::UpdateUserPoolDomainResponse#cloud_front_domain #cloud_front_domain} => String
10780
11749
  #
10781
11750
  # @example Request syntax with placeholder values
@@ -10783,6 +11752,7 @@ module Aws::CognitoIdentityProvider
10783
11752
  # resp = client.update_user_pool_domain({
10784
11753
  # domain: "DomainType", # required
10785
11754
  # user_pool_id: "UserPoolIdType", # required
11755
+ # managed_login_version: 1,
10786
11756
  # custom_domain_config: { # required
10787
11757
  # certificate_arn: "ArnType", # required
10788
11758
  # },
@@ -10790,6 +11760,7 @@ module Aws::CognitoIdentityProvider
10790
11760
  #
10791
11761
  # @example Response structure
10792
11762
  #
11763
+ # resp.managed_login_version #=> Integer
10793
11764
  # resp.cloud_front_domain #=> String
10794
11765
  #
10795
11766
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolDomain AWS API Documentation
@@ -10937,7 +11908,7 @@ module Aws::CognitoIdentityProvider
10937
11908
  tracer: tracer
10938
11909
  )
10939
11910
  context[:gem_name] = 'aws-sdk-cognitoidentityprovider'
10940
- context[:gem_version] = '1.108.0'
11911
+ context[:gem_version] = '1.110.0'
10941
11912
  Seahorse::Client::Request.new(handlers, context)
10942
11913
  end
10943
11914