class Aws::CognitoIdentityProvider::Types::UserPoolClientType

Contains information about a user pool client.

@!attribute [rw] user_pool_id

The user pool ID for the user pool client.
@return [String]

@!attribute [rw] client_name

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

@!attribute [rw] client_id

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

@!attribute [rw] client_secret

The client secret from the user pool request of the client type.
@return [String]

@!attribute [rw] last_modified_date

The date the user pool client was last modified.
@return [Time]

@!attribute [rw] creation_date

The date the user pool client was created.
@return [Time]

@!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, specified by tokenValidityUnits, defaulting to
hours, after which the access token is no longer valid and cannot be
used.
@return [Integer]

@!attribute [rw] id_token_validity

The time limit, specified by tokenValidityUnits, defaulting to
hours, after which the refresh token is no longer valid and cannot
be used.
@return [Integer]

@!attribute [rw] token_validity_units

The time units used to specify the token validity times of their
respective token.
@return [Types::TokenValidityUnitsType]

@!attribute [rw] read_attributes

The Read-only attributes.
@return [Array<String>]

@!attribute [rw] write_attributes

The writeable attributes.
@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 the user pool
client.

<note markdown="1"> Cognito User Pools only supports sending events to Amazon Pinpoint
projects in the US East (N. Virginia) us-east-1 Region, regardless
of the region in which the user pool resides.

 </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

Indicates whether token revocation is enabled for the user pool
client. When you create a new user pool client, token revocation is
enabled by default. 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/UserPoolClientType AWS API Documentation

Constants

SENSITIVE