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