aws-sdk-cognitoidentityprovider 1.109.0 → 1.111.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,11 +2388,47 @@ 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
2328
2395
  #
2329
- # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE":
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`.
2401
+ #
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":
2330
2432
  # "[code]", "USERNAME": "[username]"}`
2331
2433
  #
2332
2434
  # EMAIL\_OTP
@@ -2334,6 +2436,11 @@ module Aws::CognitoIdentityProvider
2334
2436
  # : `"ChallengeName": "EMAIL_OTP", "ChallengeResponses":
2335
2437
  # {"EMAIL_OTP_CODE": "[code]", "USERNAME": "[username]"}`
2336
2438
  #
2439
+ # SMS\_MFA
2440
+ #
2441
+ # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE":
2442
+ # "[code]", "USERNAME": "[username]"}`
2443
+ #
2337
2444
  # PASSWORD\_VERIFIER
2338
2445
  #
2339
2446
  # : This challenge response is part of the SRP flow. Amazon Cognito
@@ -2407,13 +2514,14 @@ module Aws::CognitoIdentityProvider
2407
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 = {})
@@ -3847,6 +4018,126 @@ module Aws::CognitoIdentityProvider
3847
4018
  req.send_request(options)
3848
4019
  end
3849
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
+
3850
4141
  # Creates a new OAuth2.0 resource server and defines custom scopes
3851
4142
  # within it.
3852
4143
  #
@@ -4002,7 +4293,7 @@ module Aws::CognitoIdentityProvider
4002
4293
  # sign in.
4003
4294
  #
4004
4295
  # If you have never used SMS text messages with Amazon Cognito or any
4005
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
4296
+ # other Amazon Web Services service, Amazon Simple Notification Service
4006
4297
  # might place your account in the SMS sandbox. In <i> <a
4007
4298
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
4008
4299
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -4057,26 +4348,9 @@ module Aws::CognitoIdentityProvider
4057
4348
  # request.
4058
4349
  #
4059
4350
  # @option params [Types::LambdaConfigType] :lambda_config
4060
- # The Lambda trigger configuration information for the new user pool.
4061
- #
4062
- # <note markdown="1"> In a push model, event sources (such as Amazon S3 and custom
4063
- # applications) need permission to invoke a function. So you must make
4064
- # an extra call to add permission for these event sources to invoke your
4065
- # Lambda function.
4066
- #
4067
- #
4068
- #
4069
- # For more information on using the Lambda API to add permission, see[
4070
- # AddPermission ][1].
4071
- #
4072
- # For adding permission using the CLI, see[ add-permission ][2].
4073
- #
4074
- # </note>
4075
- #
4076
- #
4077
- #
4078
- # [1]: https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html
4079
- # [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.
4080
4354
  #
4081
4355
  # @option params [Array<String>] :auto_verified_attributes
4082
4356
  # The attributes to be auto-verified. Possible values: **email**,
@@ -4115,8 +4389,15 @@ module Aws::CognitoIdentityProvider
4115
4389
  # [1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_VerificationMessageTemplateType.html
4116
4390
  #
4117
4391
  # @option params [Types::VerificationMessageTemplateType] :verification_message_template
4118
- # The template for the verification message that the user sees when the
4119
- # 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.
4120
4401
  #
4121
4402
  # @option params [String] :sms_authentication_message
4122
4403
  # A string representing the SMS authentication message.
@@ -4213,6 +4494,16 @@ module Aws::CognitoIdentityProvider
4213
4494
  # legacy behavior to determine the recovery method where SMS is
4214
4495
  # preferred through email.
4215
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
+ #
4216
4507
  # @return [Types::CreateUserPoolResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4217
4508
  #
4218
4509
  # * {Types::CreateUserPoolResponse#user_pool #user_pool} => Types::UserPoolType
@@ -4687,6 +4978,9 @@ module Aws::CognitoIdentityProvider
4687
4978
  # password_history_size: 1,
4688
4979
  # temporary_password_validity_days: 1,
4689
4980
  # },
4981
+ # sign_in_policy: {
4982
+ # allowed_first_auth_factors: ["PASSWORD"], # accepts PASSWORD, EMAIL_OTP, SMS_OTP, WEB_AUTHN
4983
+ # },
4690
4984
  # },
4691
4985
  # deletion_protection: "ACTIVE", # accepts ACTIVE, INACTIVE
4692
4986
  # lambda_config: {
@@ -4756,8 +5050,8 @@ module Aws::CognitoIdentityProvider
4756
5050
  # allow_admin_create_user_only: false,
4757
5051
  # unused_account_validity_days: 1,
4758
5052
  # invite_message_template: {
4759
- # sms_message: "SmsVerificationMessageType",
4760
- # email_message: "EmailVerificationMessageType",
5053
+ # sms_message: "SmsInviteMessageType",
5054
+ # email_message: "EmailInviteMessageType",
4761
5055
  # email_subject: "EmailVerificationSubjectType",
4762
5056
  # },
4763
5057
  # },
@@ -4795,6 +5089,7 @@ module Aws::CognitoIdentityProvider
4795
5089
  # },
4796
5090
  # ],
4797
5091
  # },
5092
+ # user_pool_tier: "LITE", # accepts LITE, ESSENTIALS, PLUS
4798
5093
  # })
4799
5094
  #
4800
5095
  # @example Response structure
@@ -4808,6 +5103,8 @@ module Aws::CognitoIdentityProvider
4808
5103
  # resp.user_pool.policies.password_policy.require_symbols #=> Boolean
4809
5104
  # resp.user_pool.policies.password_policy.password_history_size #=> Integer
4810
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"
4811
5108
  # resp.user_pool.deletion_protection #=> String, one of "ACTIVE", "INACTIVE"
4812
5109
  # resp.user_pool.lambda_config.pre_sign_up #=> String
4813
5110
  # resp.user_pool.lambda_config.custom_message #=> String
@@ -4887,6 +5184,7 @@ module Aws::CognitoIdentityProvider
4887
5184
  # resp.user_pool.account_recovery_setting.recovery_mechanisms #=> Array
4888
5185
  # resp.user_pool.account_recovery_setting.recovery_mechanisms[0].priority #=> Integer
4889
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"
4890
5188
  #
4891
5189
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPool AWS API Documentation
4892
5190
  #
@@ -5057,6 +5355,15 @@ module Aws::CognitoIdentityProvider
5057
5355
  #
5058
5356
  # Valid values include:
5059
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
+ #
5060
5367
  # * `ALLOW_ADMIN_USER_PASSWORD_AUTH`: Enable admin based user password
5061
5368
  # authentication flow `ADMIN_USER_PASSWORD_AUTH`. This setting
5062
5369
  # replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication
@@ -5088,6 +5395,18 @@ module Aws::CognitoIdentityProvider
5088
5395
  # can also specify the names that you configured for the SAML and OIDC
5089
5396
  # IdPs in your user pool, for example `MySAMLIdP` or `MyOIDCIdP`.
5090
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
+ #
5091
5410
  # @option params [Array<String>] :callback_urls
5092
5411
  # A list of allowed redirect (callback) URLs for the IdPs.
5093
5412
  #
@@ -5241,7 +5560,7 @@ module Aws::CognitoIdentityProvider
5241
5560
  #
5242
5561
  #
5243
5562
  #
5244
- # [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
5245
5564
  #
5246
5565
  # @option params [Integer] :auth_session_validity
5247
5566
  # Amazon Cognito creates a session token for each API request in an
@@ -5397,7 +5716,7 @@ module Aws::CognitoIdentityProvider
5397
5716
  # },
5398
5717
  # read_attributes: ["ClientPermissionType"],
5399
5718
  # write_attributes: ["ClientPermissionType"],
5400
- # 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
5401
5720
  # supported_identity_providers: ["ProviderNameType"],
5402
5721
  # callback_urls: ["RedirectUrlType"],
5403
5722
  # logout_urls: ["RedirectUrlType"],
@@ -5437,7 +5756,7 @@ module Aws::CognitoIdentityProvider
5437
5756
  # resp.user_pool_client.write_attributes #=> Array
5438
5757
  # resp.user_pool_client.write_attributes[0] #=> String
5439
5758
  # resp.user_pool_client.explicit_auth_flows #=> Array
5440
- # 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"
5441
5760
  # resp.user_pool_client.supported_identity_providers #=> Array
5442
5761
  # resp.user_pool_client.supported_identity_providers[0] #=> String
5443
5762
  # resp.user_pool_client.callback_urls #=> Array
@@ -5469,7 +5788,9 @@ module Aws::CognitoIdentityProvider
5469
5788
  req.send_request(options)
5470
5789
  end
5471
5790
 
5472
- # 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.
5473
5794
  #
5474
5795
  # <note markdown="1"> Amazon Cognito evaluates Identity and Access Management (IAM) policies
5475
5796
  # in requests for this API operation. For this operation, you must use
@@ -5495,7 +5816,19 @@ module Aws::CognitoIdentityProvider
5495
5816
  # domains, this is the prefix alone, such as `auth`.
5496
5817
  #
5497
5818
  # @option params [required, String] :user_pool_id
5498
- # 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
5499
5832
  #
5500
5833
  # @option params [Types::CustomDomainConfigType] :custom_domain_config
5501
5834
  # The configuration for a custom domain that hosts the sign-up and
@@ -5514,6 +5847,7 @@ module Aws::CognitoIdentityProvider
5514
5847
  #
5515
5848
  # @return [Types::CreateUserPoolDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5516
5849
  #
5850
+ # * {Types::CreateUserPoolDomainResponse#managed_login_version #managed_login_version} => Integer
5517
5851
  # * {Types::CreateUserPoolDomainResponse#cloud_front_domain #cloud_front_domain} => String
5518
5852
  #
5519
5853
  # @example Request syntax with placeholder values
@@ -5521,6 +5855,7 @@ module Aws::CognitoIdentityProvider
5521
5855
  # resp = client.create_user_pool_domain({
5522
5856
  # domain: "DomainType", # required
5523
5857
  # user_pool_id: "UserPoolIdType", # required
5858
+ # managed_login_version: 1,
5524
5859
  # custom_domain_config: {
5525
5860
  # certificate_arn: "ArnType", # required
5526
5861
  # },
@@ -5528,6 +5863,7 @@ module Aws::CognitoIdentityProvider
5528
5863
  #
5529
5864
  # @example Response structure
5530
5865
  #
5866
+ # resp.managed_login_version #=> Integer
5531
5867
  # resp.cloud_front_domain #=> String
5532
5868
  #
5533
5869
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/CreateUserPoolDomain AWS API Documentation
@@ -5593,6 +5929,53 @@ module Aws::CognitoIdentityProvider
5593
5929
  req.send_request(options)
5594
5930
  end
5595
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
+
5596
5979
  # Deletes a resource server.
5597
5980
  #
5598
5981
  # @option params [required, String] :user_pool_id
@@ -5782,6 +6165,42 @@ module Aws::CognitoIdentityProvider
5782
6165
  req.send_request(options)
5783
6166
  end
5784
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
+
5785
6204
  # Gets information about a specific IdP.
5786
6205
  #
5787
6206
  # @option params [required, String] :user_pool_id
@@ -5824,6 +6243,110 @@ module Aws::CognitoIdentityProvider
5824
6243
  req.send_request(options)
5825
6244
  end
5826
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
+
5827
6350
  # Describes a resource server.
5828
6351
  #
5829
6352
  # @option params [required, String] :user_pool_id
@@ -6017,6 +6540,8 @@ module Aws::CognitoIdentityProvider
6017
6540
  # resp.user_pool.policies.password_policy.require_symbols #=> Boolean
6018
6541
  # resp.user_pool.policies.password_policy.password_history_size #=> Integer
6019
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"
6020
6545
  # resp.user_pool.deletion_protection #=> String, one of "ACTIVE", "INACTIVE"
6021
6546
  # resp.user_pool.lambda_config.pre_sign_up #=> String
6022
6547
  # resp.user_pool.lambda_config.custom_message #=> String
@@ -6096,6 +6621,7 @@ module Aws::CognitoIdentityProvider
6096
6621
  # resp.user_pool.account_recovery_setting.recovery_mechanisms #=> Array
6097
6622
  # resp.user_pool.account_recovery_setting.recovery_mechanisms[0].priority #=> Integer
6098
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"
6099
6625
  #
6100
6626
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPool AWS API Documentation
6101
6627
  #
@@ -6163,7 +6689,7 @@ module Aws::CognitoIdentityProvider
6163
6689
  # resp.user_pool_client.write_attributes #=> Array
6164
6690
  # resp.user_pool_client.write_attributes[0] #=> String
6165
6691
  # resp.user_pool_client.explicit_auth_flows #=> Array
6166
- # 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"
6167
6693
  # resp.user_pool_client.supported_identity_providers #=> Array
6168
6694
  # resp.user_pool_client.supported_identity_providers[0] #=> String
6169
6695
  # resp.user_pool_client.callback_urls #=> Array
@@ -6222,6 +6748,7 @@ module Aws::CognitoIdentityProvider
6222
6748
  # resp.domain_description.version #=> String
6223
6749
  # resp.domain_description.status #=> String, one of "CREATING", "DELETING", "UPDATING", "ACTIVE", "FAILED"
6224
6750
  # resp.domain_description.custom_domain_config.certificate_arn #=> String
6751
+ # resp.domain_description.managed_login_version #=> Integer
6225
6752
  #
6226
6753
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/DescribeUserPoolDomain AWS API Documentation
6227
6754
  #
@@ -6314,7 +6841,7 @@ module Aws::CognitoIdentityProvider
6314
6841
  # sign in.
6315
6842
  #
6316
6843
  # If you have never used SMS text messages with Amazon Cognito or any
6317
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
6844
+ # other Amazon Web Services service, Amazon Simple Notification Service
6318
6845
  # might place your account in the SMS sandbox. In <i> <a
6319
6846
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
6320
6847
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -6802,7 +7329,7 @@ module Aws::CognitoIdentityProvider
6802
7329
  # sign in.
6803
7330
  #
6804
7331
  # If you have never used SMS text messages with Amazon Cognito or any
6805
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
7332
+ # other Amazon Web Services service, Amazon Simple Notification Service
6806
7333
  # might place your account in the SMS sandbox. In <i> <a
6807
7334
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
6808
7335
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -6893,6 +7420,50 @@ module Aws::CognitoIdentityProvider
6893
7420
  req.send_request(options)
6894
7421
  end
6895
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
+
6896
7467
  # Gets the user pool multi-factor authentication (MFA) configuration.
6897
7468
  #
6898
7469
  # @option params [required, String] :user_pool_id
@@ -6904,6 +7475,7 @@ module Aws::CognitoIdentityProvider
6904
7475
  # * {Types::GetUserPoolMfaConfigResponse#software_token_mfa_configuration #software_token_mfa_configuration} => Types::SoftwareTokenMfaConfigType
6905
7476
  # * {Types::GetUserPoolMfaConfigResponse#email_mfa_configuration #email_mfa_configuration} => Types::EmailMfaConfigType
6906
7477
  # * {Types::GetUserPoolMfaConfigResponse#mfa_configuration #mfa_configuration} => String
7478
+ # * {Types::GetUserPoolMfaConfigResponse#web_authn_configuration #web_authn_configuration} => Types::WebAuthnConfigurationType
6907
7479
  #
6908
7480
  # @example Request syntax with placeholder values
6909
7481
  #
@@ -6921,6 +7493,8 @@ module Aws::CognitoIdentityProvider
6921
7493
  # resp.email_mfa_configuration.message #=> String
6922
7494
  # resp.email_mfa_configuration.subject #=> String
6923
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"
6924
7498
  #
6925
7499
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/GetUserPoolMfaConfig AWS API Documentation
6926
7500
  #
@@ -7018,7 +7592,7 @@ module Aws::CognitoIdentityProvider
7018
7592
  # sign in.
7019
7593
  #
7020
7594
  # If you have never used SMS text messages with Amazon Cognito or any
7021
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
7595
+ # other Amazon Web Services service, Amazon Simple Notification Service
7022
7596
  # might place your account in the SMS sandbox. In <i> <a
7023
7597
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
7024
7598
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -7037,41 +7611,77 @@ module Aws::CognitoIdentityProvider
7037
7611
  # [4]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-sms-settings.html
7038
7612
  #
7039
7613
  # @option params [required, String] :auth_flow
7040
- # The authentication flow for this call to run. The API action will
7041
- # 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:
7042
7617
  #
7043
- # * `REFRESH_TOKEN_AUTH` takes in a valid refresh token and returns new
7044
- # 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.
7045
7622
  #
7046
- # * `USER_SRP_AUTH` takes in `USERNAME` and `SRP_A` and returns the SRP
7047
- # 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.
7048
7625
  #
7049
- # * `USER_PASSWORD_AUTH` takes in `USERNAME` and `PASSWORD` and returns
7050
- # 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.
7051
7629
  #
7052
- # 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.
7053
7633
  #
7054
- # * `USER_SRP_AUTH`: Authentication flow for the Secure Remote Password
7055
- # (SRP) protocol.
7634
+ # Valid values include the following:
7056
7635
  #
7057
- # * `REFRESH_TOKEN_AUTH`/`REFRESH_TOKEN`: Authentication flow for
7058
- # refreshing the access token and ID token by supplying a valid
7059
- # refresh token.
7636
+ # USER\_AUTH
7060
7637
  #
7061
- # * `CUSTOM_AUTH`: Custom authentication flow.
7638
+ # : The entry point for sign-in with passwords, one-time passwords,
7639
+ # biometric devices, and security keys.
7062
7640
  #
7063
- # * `USER_PASSWORD_AUTH`: Non-SRP authentication flow; user name and
7064
- # password are passed directly. If a user migration Lambda trigger is
7065
- # set, this flow will invoke the user migration Lambda if it doesn't
7066
- # find the user name in the user pool.
7641
+ # USER\_SRP\_AUTH
7067
7642
  #
7068
- # `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
7069
7674
  #
7070
7675
  # @option params [Hash<String,String>] :auth_parameters
7071
7676
  # The authentication parameters. These are inputs corresponding to the
7072
7677
  # `AuthFlow` that you're invoking. The required values depend on the
7073
7678
  # value of `AuthFlow`:
7074
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
+ #
7075
7685
  # * For `USER_SRP_AUTH`: `USERNAME` (required), `SRP_A` (required),
7076
7686
  # `SECRET_HASH` (required if the app client is configured with a
7077
7687
  # client secret), `DEVICE_KEY`.
@@ -7136,6 +7746,10 @@ module Aws::CognitoIdentityProvider
7136
7746
  #
7137
7747
  # * Define auth challenge
7138
7748
  #
7749
+ # * Custom email sender
7750
+ #
7751
+ # * Custom SMS sender
7752
+ #
7139
7753
  # For more information, see [ Customizing user pool Workflows with
7140
7754
  # Lambda Triggers][1] in the *Amazon Cognito Developer Guide*.
7141
7755
  #
@@ -7172,12 +7786,18 @@ module Aws::CognitoIdentityProvider
7172
7786
  # that your app generates and passes to Amazon Cognito when it makes API
7173
7787
  # requests.
7174
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
+ #
7175
7794
  # @return [Types::InitiateAuthResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7176
7795
  #
7177
7796
  # * {Types::InitiateAuthResponse#challenge_name #challenge_name} => String
7178
7797
  # * {Types::InitiateAuthResponse#session #session} => String
7179
7798
  # * {Types::InitiateAuthResponse#challenge_parameters #challenge_parameters} => Hash&lt;String,String&gt;
7180
7799
  # * {Types::InitiateAuthResponse#authentication_result #authentication_result} => Types::AuthenticationResultType
7800
+ # * {Types::InitiateAuthResponse#available_challenges #available_challenges} => Array&lt;String&gt;
7181
7801
  #
7182
7802
  #
7183
7803
  # @example Example: Example username and password sign-in for a user who has TOTP MFA
@@ -7218,7 +7838,7 @@ module Aws::CognitoIdentityProvider
7218
7838
  # @example Request syntax with placeholder values
7219
7839
  #
7220
7840
  # resp = client.initiate_auth({
7221
- # 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
7222
7842
  # auth_parameters: {
7223
7843
  # "StringType" => "StringType",
7224
7844
  # },
@@ -7233,11 +7853,12 @@ module Aws::CognitoIdentityProvider
7233
7853
  # ip_address: "StringType",
7234
7854
  # encoded_data: "StringType",
7235
7855
  # },
7856
+ # session: "SessionType",
7236
7857
  # })
7237
7858
  #
7238
7859
  # @example Response structure
7239
7860
  #
7240
- # 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"
7241
7862
  # resp.session #=> String
7242
7863
  # resp.challenge_parameters #=> Hash
7243
7864
  # resp.challenge_parameters["StringType"] #=> String
@@ -7248,6 +7869,8 @@ module Aws::CognitoIdentityProvider
7248
7869
  # resp.authentication_result.id_token #=> String
7249
7870
  # resp.authentication_result.new_device_metadata.device_key #=> String
7250
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"
7251
7874
  #
7252
7875
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/InitiateAuth AWS API Documentation
7253
7876
  #
@@ -7825,9 +8448,9 @@ module Aws::CognitoIdentityProvider
7825
8448
  # this token, you can paginate through the full list of items.
7826
8449
  #
7827
8450
  # @option params [String] :filter
7828
- # A filter string of the form "*AttributeName* *Filter-Type*
7829
- # "*AttributeValue*"". Quotation marks within the filter string must
7830
- # 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,
7831
8454
  # `"family_name = "Reddy""`.
7832
8455
  #
7833
8456
  # * *AttributeName*: The name of the attribute to search for. You can
@@ -8086,6 +8709,56 @@ module Aws::CognitoIdentityProvider
8086
8709
  req.send_request(options)
8087
8710
  end
8088
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
+
8089
8762
  # Resends the confirmation (for confirmation of registration) to a
8090
8763
  # specific user in the user pool.
8091
8764
  #
@@ -8108,7 +8781,7 @@ module Aws::CognitoIdentityProvider
8108
8781
  # sign in.
8109
8782
  #
8110
8783
  # If you have never used SMS text messages with Amazon Cognito or any
8111
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
8784
+ # other Amazon Web Services service, Amazon Simple Notification Service
8112
8785
  # might place your account in the SMS sandbox. In <i> <a
8113
8786
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
8114
8787
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -8254,7 +8927,7 @@ module Aws::CognitoIdentityProvider
8254
8927
  # sign in.
8255
8928
  #
8256
8929
  # If you have never used SMS text messages with Amazon Cognito or any
8257
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
8930
+ # other Amazon Web Services service, Amazon Simple Notification Service
8258
8931
  # might place your account in the SMS sandbox. In <i> <a
8259
8932
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
8260
8933
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -8298,11 +8971,47 @@ module Aws::CognitoIdentityProvider
8298
8971
  # challenge-response parameters.
8299
8972
  #
8300
8973
  # You must provide a SECRET\_HASH parameter in all challenge responses
8301
- # 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.
8302
8976
  #
8303
- # SMS\_MFA
8977
+ # SELECT\_CHALLENGE
8304
8978
  #
8305
- # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE":
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]"}`
8997
+ #
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":
8306
9015
  # "[code]", "USERNAME": "[username]"}`
8307
9016
  #
8308
9017
  # EMAIL\_OTP
@@ -8310,6 +9019,11 @@ module Aws::CognitoIdentityProvider
8310
9019
  # : `"ChallengeName": "EMAIL_OTP", "ChallengeResponses":
8311
9020
  # {"EMAIL_OTP_CODE": "[code]", "USERNAME": "[username]"}`
8312
9021
  #
9022
+ # SMS\_MFA
9023
+ #
9024
+ # : `"ChallengeName": "SMS_MFA", "ChallengeResponses": {"SMS_MFA_CODE":
9025
+ # "[code]", "USERNAME": "[username]"}`
9026
+ #
8313
9027
  # PASSWORD\_VERIFIER
8314
9028
  #
8315
9029
  # : This challenge response is part of the SRP flow. Amazon Cognito
@@ -8383,13 +9097,14 @@ module Aws::CognitoIdentityProvider
8383
9097
  # SOFTWARE_TOKEN_MFA]"}`
8384
9098
  #
8385
9099
  # For more information about `SECRET_HASH`, see [Computing secret hash
8386
- # values][1]. For information about `DEVICE_KEY`, see [Working with user
8387
- # 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].
8388
9102
  #
8389
9103
  #
8390
9104
  #
8391
- # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/signing-up-users-in-your-app.html#cognito-user-pools-computing-secret-hash
8392
- # [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
8393
9108
  #
8394
9109
  # @option params [Types::AnalyticsMetadataType] :analytics_metadata
8395
9110
  # The Amazon Pinpoint analytics metadata that contributes to your
@@ -8452,7 +9167,7 @@ module Aws::CognitoIdentityProvider
8452
9167
  #
8453
9168
  # resp = client.respond_to_auth_challenge({
8454
9169
  # client_id: "ClientIdType", # required
8455
- # 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
8456
9171
  # session: "SessionType",
8457
9172
  # challenge_responses: {
8458
9173
  # "StringType" => "StringType",
@@ -8471,7 +9186,7 @@ module Aws::CognitoIdentityProvider
8471
9186
  #
8472
9187
  # @example Response structure
8473
9188
  #
8474
- # 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"
8475
9190
  # resp.session #=> String
8476
9191
  # resp.challenge_parameters #=> Hash
8477
9192
  # resp.challenge_parameters["StringType"] #=> String
@@ -8859,7 +9574,8 @@ module Aws::CognitoIdentityProvider
8859
9574
  req.send_request(options)
8860
9575
  end
8861
9576
 
8862
- # Sets the user pool multi-factor authentication (MFA) configuration.
9577
+ # Sets the user pool multi-factor authentication (MFA) and passkey
9578
+ # configuration.
8863
9579
  #
8864
9580
  # <note markdown="1"> This action might generate an SMS text message. Starting June 1, 2021,
8865
9581
  # US telecom carriers require you to register an origination phone
@@ -8871,7 +9587,7 @@ module Aws::CognitoIdentityProvider
8871
9587
  # sign in.
8872
9588
  #
8873
9589
  # If you have never used SMS text messages with Amazon Cognito or any
8874
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
9590
+ # other Amazon Web Services service, Amazon Simple Notification Service
8875
9591
  # might place your account in the SMS sandbox. In <i> <a
8876
9592
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
8877
9593
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -8925,12 +9641,18 @@ module Aws::CognitoIdentityProvider
8925
9641
  #
8926
9642
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-mfa.html
8927
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
+ #
8928
9649
  # @return [Types::SetUserPoolMfaConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8929
9650
  #
8930
9651
  # * {Types::SetUserPoolMfaConfigResponse#sms_mfa_configuration #sms_mfa_configuration} => Types::SmsMfaConfigType
8931
9652
  # * {Types::SetUserPoolMfaConfigResponse#software_token_mfa_configuration #software_token_mfa_configuration} => Types::SoftwareTokenMfaConfigType
8932
9653
  # * {Types::SetUserPoolMfaConfigResponse#email_mfa_configuration #email_mfa_configuration} => Types::EmailMfaConfigType
8933
9654
  # * {Types::SetUserPoolMfaConfigResponse#mfa_configuration #mfa_configuration} => String
9655
+ # * {Types::SetUserPoolMfaConfigResponse#web_authn_configuration #web_authn_configuration} => Types::WebAuthnConfigurationType
8934
9656
  #
8935
9657
  # @example Request syntax with placeholder values
8936
9658
  #
@@ -8952,6 +9674,10 @@ module Aws::CognitoIdentityProvider
8952
9674
  # subject: "EmailMfaSubjectType",
8953
9675
  # },
8954
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
+ # },
8955
9681
  # })
8956
9682
  #
8957
9683
  # @example Response structure
@@ -8964,6 +9690,8 @@ module Aws::CognitoIdentityProvider
8964
9690
  # resp.email_mfa_configuration.message #=> String
8965
9691
  # resp.email_mfa_configuration.subject #=> String
8966
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"
8967
9695
  #
8968
9696
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SetUserPoolMfaConfig AWS API Documentation
8969
9697
  #
@@ -9049,7 +9777,7 @@ module Aws::CognitoIdentityProvider
9049
9777
  # sign in.
9050
9778
  #
9051
9779
  # If you have never used SMS text messages with Amazon Cognito or any
9052
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
9780
+ # other Amazon Web Services service, Amazon Simple Notification Service
9053
9781
  # might place your account in the SMS sandbox. In <i> <a
9054
9782
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
9055
9783
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -9060,11 +9788,21 @@ module Aws::CognitoIdentityProvider
9060
9788
  #
9061
9789
  # </note>
9062
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
+ #
9063
9799
  #
9064
9800
  #
9065
9801
  # [1]: https://docs.aws.amazon.com/cognito/latest/developerguide/user-pools-API-operations.html
9066
9802
  # [2]: https://console.aws.amazon.com/pinpoint/home/
9067
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
9068
9806
  #
9069
9807
  # @option params [required, String] :client_id
9070
9808
  # The ID of the client associated with the user pool.
@@ -9079,9 +9817,22 @@ module Aws::CognitoIdentityProvider
9079
9817
  # parameter is typically a username, but can be any alias attribute in
9080
9818
  # your user pool.
9081
9819
  #
9082
- # @option params [required, String] :password
9820
+ # @option params [String] :password
9083
9821
  # The password of the user you want to register.
9084
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
+ #
9085
9836
  # @option params [Array<Types::AttributeType>] :user_attributes
9086
9837
  # An array of name-value pairs representing user attributes.
9087
9838
  #
@@ -9161,6 +9912,7 @@ module Aws::CognitoIdentityProvider
9161
9912
  # * {Types::SignUpResponse#user_confirmed #user_confirmed} => Boolean
9162
9913
  # * {Types::SignUpResponse#code_delivery_details #code_delivery_details} => Types::CodeDeliveryDetailsType
9163
9914
  # * {Types::SignUpResponse#user_sub #user_sub} => String
9915
+ # * {Types::SignUpResponse#session #session} => String
9164
9916
  #
9165
9917
  # @example Request syntax with placeholder values
9166
9918
  #
@@ -9168,7 +9920,7 @@ module Aws::CognitoIdentityProvider
9168
9920
  # client_id: "ClientIdType", # required
9169
9921
  # secret_hash: "SecretHashType",
9170
9922
  # username: "UsernameType", # required
9171
- # password: "PasswordType", # required
9923
+ # password: "PasswordType",
9172
9924
  # user_attributes: [
9173
9925
  # {
9174
9926
  # name: "AttributeNameType", # required
@@ -9200,6 +9952,7 @@ module Aws::CognitoIdentityProvider
9200
9952
  # resp.code_delivery_details.delivery_medium #=> String, one of "SMS", "EMAIL"
9201
9953
  # resp.code_delivery_details.attribute_name #=> String
9202
9954
  # resp.user_sub #=> String
9955
+ # resp.session #=> String
9203
9956
  #
9204
9957
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/SignUp AWS API Documentation
9205
9958
  #
@@ -9255,6 +10008,50 @@ module Aws::CognitoIdentityProvider
9255
10008
  req.send_request(options)
9256
10009
  end
9257
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
+
9258
10055
  # Stops the user import job.
9259
10056
  #
9260
10057
  # @option params [required, String] :user_pool_id
@@ -9752,6 +10549,118 @@ module Aws::CognitoIdentityProvider
9752
10549
  req.send_request(options)
9753
10550
  end
9754
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
+
9755
10664
  # Updates the name and scopes of resource server. All other fields are
9756
10665
  # read-only.
9757
10666
  #
@@ -9859,7 +10768,7 @@ module Aws::CognitoIdentityProvider
9859
10768
  # sign in.
9860
10769
  #
9861
10770
  # If you have never used SMS text messages with Amazon Cognito or any
9862
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
10771
+ # other Amazon Web Services service, Amazon Simple Notification Service
9863
10772
  # might place your account in the SMS sandbox. In <i> <a
9864
10773
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
9865
10774
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -9974,7 +10883,7 @@ module Aws::CognitoIdentityProvider
9974
10883
  # sign in.
9975
10884
  #
9976
10885
  # If you have never used SMS text messages with Amazon Cognito or any
9977
- # other Amazon Web Servicesservice, Amazon Simple Notification Service
10886
+ # other Amazon Web Services service, Amazon Simple Notification Service
9978
10887
  # might place your account in the SMS sandbox. In <i> <a
9979
10888
  # href="https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html">sandbox
9980
10889
  # mode</a> </i>, you can send messages only to verified phone numbers.
@@ -10153,6 +11062,19 @@ module Aws::CognitoIdentityProvider
10153
11062
  # legacy behavior to determine the recovery method where SMS is
10154
11063
  # preferred through email.
10155
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
+ #
10156
11078
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
10157
11079
  #
10158
11080
  # @example Request syntax with placeholder values
@@ -10169,6 +11091,9 @@ module Aws::CognitoIdentityProvider
10169
11091
  # password_history_size: 1,
10170
11092
  # temporary_password_validity_days: 1,
10171
11093
  # },
11094
+ # sign_in_policy: {
11095
+ # allowed_first_auth_factors: ["PASSWORD"], # accepts PASSWORD, EMAIL_OTP, SMS_OTP, WEB_AUTHN
11096
+ # },
10172
11097
  # },
10173
11098
  # deletion_protection: "ACTIVE", # accepts ACTIVE, INACTIVE
10174
11099
  # lambda_config: {
@@ -10236,8 +11161,8 @@ module Aws::CognitoIdentityProvider
10236
11161
  # allow_admin_create_user_only: false,
10237
11162
  # unused_account_validity_days: 1,
10238
11163
  # invite_message_template: {
10239
- # sms_message: "SmsVerificationMessageType",
10240
- # email_message: "EmailVerificationMessageType",
11164
+ # sms_message: "SmsInviteMessageType",
11165
+ # email_message: "EmailInviteMessageType",
10241
11166
  # email_subject: "EmailVerificationSubjectType",
10242
11167
  # },
10243
11168
  # },
@@ -10255,6 +11180,8 @@ module Aws::CognitoIdentityProvider
10255
11180
  # },
10256
11181
  # ],
10257
11182
  # },
11183
+ # pool_name: "UserPoolNameType",
11184
+ # user_pool_tier: "LITE", # accepts LITE, ESSENTIALS, PLUS
10258
11185
  # })
10259
11186
  #
10260
11187
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPool AWS API Documentation
@@ -10428,6 +11355,15 @@ module Aws::CognitoIdentityProvider
10428
11355
  #
10429
11356
  # Valid values include:
10430
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
+ #
10431
11367
  # * `ALLOW_ADMIN_USER_PASSWORD_AUTH`: Enable admin based user password
10432
11368
  # authentication flow `ADMIN_USER_PASSWORD_AUTH`. This setting
10433
11369
  # replaces the `ADMIN_NO_SRP_AUTH` setting. With this authentication
@@ -10453,10 +11389,23 @@ module Aws::CognitoIdentityProvider
10453
11389
  # `ALLOW_USER_SRP_AUTH`.
10454
11390
  #
10455
11391
  # @option params [Array<String>] :supported_identity_providers
10456
- # A list of provider names for the IdPs that this client supports. The
10457
- # following are supported: `COGNITO`, `Facebook`, `Google`,
10458
- # `SignInWithApple`, `LoginWithAmazon`, and the names of your own SAML
10459
- # 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
10460
11409
  #
10461
11410
  # @option params [Array<String>] :callback_urls
10462
11411
  # A list of allowed redirect (callback) URLs for the IdPs.
@@ -10604,7 +11553,7 @@ module Aws::CognitoIdentityProvider
10604
11553
  #
10605
11554
  #
10606
11555
  #
10607
- # [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
10608
11557
  #
10609
11558
  # @option params [Integer] :auth_session_validity
10610
11559
  # Amazon Cognito creates a session token for each API request in an
@@ -10632,7 +11581,7 @@ module Aws::CognitoIdentityProvider
10632
11581
  # },
10633
11582
  # read_attributes: ["ClientPermissionType"],
10634
11583
  # write_attributes: ["ClientPermissionType"],
10635
- # 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
10636
11585
  # supported_identity_providers: ["ProviderNameType"],
10637
11586
  # callback_urls: ["RedirectUrlType"],
10638
11587
  # logout_urls: ["RedirectUrlType"],
@@ -10672,7 +11621,7 @@ module Aws::CognitoIdentityProvider
10672
11621
  # resp.user_pool_client.write_attributes #=> Array
10673
11622
  # resp.user_pool_client.write_attributes[0] #=> String
10674
11623
  # resp.user_pool_client.explicit_auth_flows #=> Array
10675
- # 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"
10676
11625
  # resp.user_pool_client.supported_identity_providers #=> Array
10677
11626
  # resp.user_pool_client.supported_identity_providers[0] #=> String
10678
11627
  # resp.user_pool_client.callback_urls #=> Array
@@ -10767,13 +11716,35 @@ module Aws::CognitoIdentityProvider
10767
11716
  # The ID of the user pool that is associated with the custom domain
10768
11717
  # whose certificate you're updating.
10769
11718
  #
10770
- # @option params [required, Types::CustomDomainConfigType] :custom_domain_config
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
+ #
11729
+ # @option params [Types::CustomDomainConfigType] :custom_domain_config
10771
11730
  # The configuration for a custom domain that hosts the sign-up and
10772
11731
  # sign-in pages for your application. Use this object to specify an SSL
10773
11732
  # certificate that is managed by ACM.
10774
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
+ #
10775
11745
  # @return [Types::UpdateUserPoolDomainResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
10776
11746
  #
11747
+ # * {Types::UpdateUserPoolDomainResponse#managed_login_version #managed_login_version} => Integer
10777
11748
  # * {Types::UpdateUserPoolDomainResponse#cloud_front_domain #cloud_front_domain} => String
10778
11749
  #
10779
11750
  # @example Request syntax with placeholder values
@@ -10781,13 +11752,15 @@ module Aws::CognitoIdentityProvider
10781
11752
  # resp = client.update_user_pool_domain({
10782
11753
  # domain: "DomainType", # required
10783
11754
  # user_pool_id: "UserPoolIdType", # required
10784
- # custom_domain_config: { # required
11755
+ # managed_login_version: 1,
11756
+ # custom_domain_config: {
10785
11757
  # certificate_arn: "ArnType", # required
10786
11758
  # },
10787
11759
  # })
10788
11760
  #
10789
11761
  # @example Response structure
10790
11762
  #
11763
+ # resp.managed_login_version #=> Integer
10791
11764
  # resp.cloud_front_domain #=> String
10792
11765
  #
10793
11766
  # @see http://docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolDomain AWS API Documentation
@@ -10935,7 +11908,7 @@ module Aws::CognitoIdentityProvider
10935
11908
  tracer: tracer
10936
11909
  )
10937
11910
  context[:gem_name] = 'aws-sdk-cognitoidentityprovider'
10938
- context[:gem_version] = '1.109.0'
11911
+ context[:gem_version] = '1.111.0'
10939
11912
  Seahorse::Client::Request.new(handlers, context)
10940
11913
  end
10941
11914