aws-sdk-cognitoidentityprovider 1.109.0 → 1.110.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
  #
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
+ #
10770
11729
  # @option params [required, 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,6 +11752,7 @@ module Aws::CognitoIdentityProvider
10781
11752
  # resp = client.update_user_pool_domain({
10782
11753
  # domain: "DomainType", # required
10783
11754
  # user_pool_id: "UserPoolIdType", # required
11755
+ # managed_login_version: 1,
10784
11756
  # custom_domain_config: { # required
10785
11757
  # certificate_arn: "ArnType", # required
10786
11758
  # },
@@ -10788,6 +11760,7 @@ module Aws::CognitoIdentityProvider
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.110.0'
10939
11912
  Seahorse::Client::Request.new(handlers, context)
10940
11913
  end
10941
11914