class Aws::CognitoIdentityProvider::Types::UpdateUserPoolClientRequest

Represents the request to update the user pool client.

@note When making an API call, you may pass UpdateUserPoolClientRequest

data as a hash:

    {
      user_pool_id: "UserPoolIdType", # required
      client_id: "ClientIdType", # required
      client_name: "ClientNameType",
      refresh_token_validity: 1,
      access_token_validity: 1,
      id_token_validity: 1,
      token_validity_units: {
        access_token: "seconds", # accepts seconds, minutes, hours, days
        id_token: "seconds", # accepts seconds, minutes, hours, days
        refresh_token: "seconds", # accepts seconds, minutes, hours, days
      },
      read_attributes: ["ClientPermissionType"],
      write_attributes: ["ClientPermissionType"],
      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
      supported_identity_providers: ["ProviderNameType"],
      callback_urls: ["RedirectUrlType"],
      logout_urls: ["RedirectUrlType"],
      default_redirect_uri: "RedirectUrlType",
      allowed_o_auth_flows: ["code"], # accepts code, implicit, client_credentials
      allowed_o_auth_scopes: ["ScopeType"],
      allowed_o_auth_flows_user_pool_client: false,
      analytics_configuration: {
        application_id: "HexStringType",
        application_arn: "ArnType",
        role_arn: "ArnType",
        external_id: "StringType",
        user_data_shared: false,
      },
      prevent_user_existence_errors: "LEGACY", # accepts LEGACY, ENABLED
      enable_token_revocation: false,
    }

@!attribute [rw] user_pool_id

The user pool ID for the user pool where you want to update the user
pool client.
@return [String]

@!attribute [rw] client_id

The ID of the client associated with the user pool.
@return [String]

@!attribute [rw] client_name

The client name from the update user pool client request.
@return [String]

@!attribute [rw] refresh_token_validity

The time limit, in days, after which the refresh token is no longer
valid and cannot be used.
@return [Integer]

@!attribute [rw] access_token_validity

The time limit, after which the access token is no longer valid and
cannot be used.
@return [Integer]

@!attribute [rw] id_token_validity

The time limit, after which the ID token is no longer valid and
cannot be used.
@return [Integer]

@!attribute [rw] token_validity_units

The units in which the validity times are represented in. Default
for RefreshToken is days, and default for ID and access tokens are
hours.
@return [Types::TokenValidityUnitsType]

@!attribute [rw] read_attributes

The read-only attributes of the user pool.
@return [Array<String>]

@!attribute [rw] write_attributes

The writeable attributes of the user pool.
@return [Array<String>]

@!attribute [rw] explicit_auth_flows

The authentication flows that are supported by the user pool
clients. Flow names without the `ALLOW_` prefix are deprecated in
favor of new names with the `ALLOW_` prefix. Note that values with
`ALLOW_` prefix cannot be used along with values without `ALLOW_`
prefix.

Valid values include:

* `ALLOW_ADMIN_USER_PASSWORD_AUTH`\: Enable admin based user
  password authentication flow `ADMIN_USER_PASSWORD_AUTH`. This
  setting replaces the `ADMIN_NO_SRP_AUTH` setting. With this
  authentication flow, Cognito receives the password in the request
  instead of using the SRP (Secure Remote Password protocol)
  protocol to verify passwords.

* `ALLOW_CUSTOM_AUTH`\: Enable Lambda trigger based authentication.

* `ALLOW_USER_PASSWORD_AUTH`\: Enable user password-based
  authentication. In this flow, Cognito receives the password in the
  request instead of using the SRP protocol to verify passwords.

* `ALLOW_USER_SRP_AUTH`\: Enable SRP based authentication.

* `ALLOW_REFRESH_TOKEN_AUTH`\: Enable authflow to refresh tokens.
@return [Array<String>]

@!attribute [rw] supported_identity_providers

A list of provider names for the identity providers that are
supported on this client.
@return [Array<String>]

@!attribute [rw] callback_urls

A list of allowed redirect (callback) URLs for the identity
providers.

A redirect URI must:

* Be an absolute URI.

* Be registered with the authorization server.

* Not include a fragment component.

See [OAuth 2.0 - Redirection Endpoint][1].

Amazon Cognito requires HTTPS over HTTP except for http://localhost
for testing purposes only.

App callback URLs such as myapp://example are also supported.

[1]: https://tools.ietf.org/html/rfc6749#section-3.1.2
@return [Array<String>]

@!attribute [rw] logout_urls

A list of allowed logout URLs for the identity providers.
@return [Array<String>]

@!attribute [rw] default_redirect_uri

The default redirect URI. Must be in the `CallbackURLs` list.

A redirect URI must:

* Be an absolute URI.

* Be registered with the authorization server.

* Not include a fragment component.

See [OAuth 2.0 - Redirection Endpoint][1].

Amazon Cognito requires HTTPS over HTTP except for http://localhost
for testing purposes only.

App callback URLs such as myapp://example are also supported.

[1]: https://tools.ietf.org/html/rfc6749#section-3.1.2
@return [String]

@!attribute [rw] allowed_o_auth_flows

The allowed OAuth flows.

Set to `code` to initiate a code grant flow, which provides an
authorization code as the response. This code can be exchanged for
access tokens with the token endpoint.

Set to `implicit` to specify that the client should get the access
token (and, optionally, ID token, based on scopes) directly.

Set to `client_credentials` to specify that the client should get
the access token (and, optionally, ID token, based on scopes) from
the token endpoint using a combination of client and client\_secret.
@return [Array<String>]

@!attribute [rw] allowed_o_auth_scopes

The allowed OAuth scopes. Possible values provided by OAuth are:
`phone`, `email`, `openid`, and `profile`. Possible values provided
by Amazon Web Services are: `aws.cognito.signin.user.admin`. Custom
scopes created in Resource Servers are also supported.
@return [Array<String>]

@!attribute [rw] allowed_o_auth_flows_user_pool_client

Set to true if the client is allowed to follow the OAuth protocol
when interacting with Cognito user pools.
@return [Boolean]

@!attribute [rw] analytics_configuration

The Amazon Pinpoint analytics configuration for collecting metrics
for this user pool.

<note markdown="1"> In regions where Pinpoint is not available, Cognito User Pools only
supports sending events to Amazon Pinpoint projects in us-east-1. In
regions where Pinpoint is available, Cognito User Pools will support
sending events to Amazon Pinpoint projects within that same region.

 </note>
@return [Types::AnalyticsConfigurationType]

@!attribute [rw] prevent_user_existence_errors

Use this setting to choose which errors and responses are returned
by Cognito APIs during authentication, account confirmation, and
password recovery when the user does not exist in the user pool.
When set to `ENABLED` and the user does not exist, authentication
returns an error indicating either the username or password was
incorrect, and account confirmation and password recovery return a
response indicating a code was sent to a simulated destination. When
set to `LEGACY`, those APIs will return a `UserNotFoundException`
exception if the user does not exist in the user pool.

Valid values include:

* `ENABLED` - This prevents user existence-related errors.

* `LEGACY` - This represents the old behavior of Cognito where user
  existence related errors are not prevented.

<note markdown="1"> After February 15th 2020, the value of `PreventUserExistenceErrors`
will default to `ENABLED` for newly created user pool clients if no
value is provided.

 </note>
@return [String]

@!attribute [rw] enable_token_revocation

Enables or disables token revocation. For more information about
revoking tokens, see [RevokeToken][1].

[1]: https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html
@return [Boolean]

@see docs.aws.amazon.com/goto/WebAPI/cognito-idp-2016-04-18/UpdateUserPoolClientRequest AWS API Documentation

Constants

SENSITIVE