#[non_exhaustive]pub struct UserPoolClientType {Show 26 fields
pub user_pool_id: Option<String>,
pub client_name: Option<String>,
pub client_id: Option<String>,
pub client_secret: Option<String>,
pub last_modified_date: Option<DateTime>,
pub creation_date: Option<DateTime>,
pub refresh_token_validity: i32,
pub access_token_validity: Option<i32>,
pub id_token_validity: Option<i32>,
pub token_validity_units: Option<TokenValidityUnitsType>,
pub read_attributes: Option<Vec<String>>,
pub write_attributes: Option<Vec<String>>,
pub explicit_auth_flows: Option<Vec<ExplicitAuthFlowsType>>,
pub supported_identity_providers: Option<Vec<String>>,
pub callback_urls: Option<Vec<String>>,
pub logout_urls: Option<Vec<String>>,
pub default_redirect_uri: Option<String>,
pub allowed_o_auth_flows: Option<Vec<OAuthFlowType>>,
pub allowed_o_auth_scopes: Option<Vec<String>>,
pub allowed_o_auth_flows_user_pool_client: Option<bool>,
pub analytics_configuration: Option<AnalyticsConfigurationType>,
pub prevent_user_existence_errors: Option<PreventUserExistenceErrorTypes>,
pub enable_token_revocation: Option<bool>,
pub enable_propagate_additional_user_context_data: Option<bool>,
pub auth_session_validity: Option<i32>,
pub refresh_token_rotation: Option<RefreshTokenRotationType>,
}
Expand description
The configuration of a user pool client.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.user_pool_id: Option<String>
The ID of the user pool associated with the app client.
client_name: Option<String>
The name of the app client.
client_id: Option<String>
The ID of the app client.
client_secret: Option<String>
The app client secret.
last_modified_date: Option<DateTime>
The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date
object.
creation_date: Option<DateTime>
The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date
object.
refresh_token_validity: i32
The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for RefreshTokenValidity
as seconds
, minutes
, hours
, or days
, set a TokenValidityUnits
value in your API request.
For example, when you set RefreshTokenValidity
as 10
and TokenValidityUnits
as days
, your user can refresh their session and retrieve new access and ID tokens for 10 days.
The default time unit for RefreshTokenValidity
in an API request is days. You can't set RefreshTokenValidity
to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. Valid range is displayed below in seconds.
If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days.
access_token_validity: Option<i32>
The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for AccessTokenValidity
as seconds
, minutes
, hours
, or days
, set a TokenValidityUnits
value in your API request.
For example, when you set AccessTokenValidity
to 10
and TokenValidityUnits
to hours
, your user can authorize access with their access token for 10 hours.
The default time unit for AccessTokenValidity
in an API request is hours. Valid range is displayed below in seconds.
If you don't specify otherwise in the configuration of your app client, your access tokens are valid for one hour.
id_token_validity: Option<i32>
The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for IdTokenValidity
as seconds
, minutes
, hours
, or days
, set a TokenValidityUnits
value in your API request.
For example, when you set IdTokenValidity
as 10
and TokenValidityUnits
as hours
, your user can authenticate their session with their ID token for 10 hours.
The default time unit for IdTokenValidity
in an API request is hours. Valid range is displayed below in seconds.
If you don't specify otherwise in the configuration of your app client, your ID tokens are valid for one hour.
token_validity_units: Option<TokenValidityUnitsType>
The time units that, with IdTokenValidity
, AccessTokenValidity
, and RefreshTokenValidity
, set and display the duration of ID, access, and refresh tokens for an app client. You can assign a separate token validity unit to each type of token.
read_attributes: Option<Vec<String>>
The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list.
When you don't specify the ReadAttributes
for your app client, your app can read the values of email_verified
, phone_number_verified
, and the standard attributes of your user pool. When your user pool app client has read access to these default attributes, ReadAttributes
doesn't return any information. Amazon Cognito only populates ReadAttributes
in the API response if you have specified your own custom set of read attributes.
write_attributes: Option<Vec<String>>
The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list.
When you don't specify the WriteAttributes
for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, WriteAttributes
doesn't return any information. Amazon Cognito only populates WriteAttributes
in the API response if you have specified your own custom set of write attributes.
If your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see Specifying IdP Attribute Mappings for Your user pool.
explicit_auth_flows: Option<Vec<ExplicitAuthFlowsType>>
The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.
If you don't specify a value for ExplicitAuthFlows
, your app client supports ALLOW_REFRESH_TOKEN_AUTH
, ALLOW_USER_SRP_AUTH
, and ALLOW_CUSTOM_AUTH
.
The values for authentication flow options include the following.
-
ALLOW_USER_AUTH
: Enable selection-based sign-in withUSER_AUTH
. This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without otherExplicitAuthFlows
permitting them. For example users can complete an SRP challenge throughUSER_AUTH
without the flowUSER_SRP_AUTH
being active for the app client. This flow doesn't includeCUSTOM_AUTH
.To activate this setting, your user pool must be in the Essentials tier or higher.
-
ALLOW_ADMIN_USER_PASSWORD_AUTH
: Enable admin based user password authentication flowADMIN_USER_PASSWORD_AUTH
. This setting replaces theADMIN_NO_SRP_AUTH
setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. -
ALLOW_CUSTOM_AUTH
: Enable Lambda trigger based authentication. -
ALLOW_USER_PASSWORD_AUTH
: Enable user password-based authentication. In this flow, Amazon 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.
In some environments, you will see the values ADMIN_NO_SRP_AUTH
, CUSTOM_AUTH_FLOW_ONLY
, or USER_PASSWORD_AUTH
. You can't assign these legacy ExplicitAuthFlows
values to user pool clients at the same time as values that begin with ALLOW_
, like ALLOW_USER_SRP_AUTH
.
supported_identity_providers: Option<Vec<String>>
A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: COGNITO
, Facebook
, Google
, SignInWithApple
, and LoginWithAmazon
. You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example MySAMLIdP
or MyOIDCIdP
.
This parameter sets the IdPs that managed login will display on the login page for your app client. The removal of COGNITO
from this list doesn't prevent authentication operations for local users with the user pools API in an Amazon Web Services SDK. The only way to prevent SDK-based authentication is to block access with a WAF rule.
callback_urls: Option<Vec<String>>
A list of allowed redirect (callback) URLs for the IdPs.
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.
Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.
App callback URLs such as myapp://example are also supported.
logout_urls: Option<Vec<String>>
A list of allowed logout URLs for the IdPs.
default_redirect_uri: Option<String>
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.
Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.
App callback URLs such as myapp://example are also supported.
allowed_o_auth_flows: Option<Vec<OAuthFlowType>>
The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add client_credentials
as the only allowed OAuth flow.
- code
-
Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the
/oauth2/token
endpoint. - implicit
-
Issue the access token (and, optionally, ID token, based on scopes) directly to your user.
- client_credentials
-
Issue the access token from the
/oauth2/token
endpoint directly to a non-person user using a combination of the client ID and client secret.
allowed_o_auth_scopes: Option<Vec<String>>
The OAuth 2.0 scopes that you want your app client to support. Can include standard OAuth scopes like phone
, email
, openid
, and profile
. Can also include the aws.cognito.signin.user.admin
scope that authorizes user profile self-service operations and custom scopes from resource servers.
allowed_o_auth_flows_user_pool_client: Option<bool>
Set to true
to use OAuth 2.0 authorization server features in your app client.
This parameter must have a value of true
before you can configure the following features in your app client.
-
CallBackURLs
: Callback URLs. -
LogoutURLs
: Sign-out redirect URLs. -
AllowedOAuthScopes
: OAuth 2.0 scopes. -
AllowedOAuthFlows
: Support for authorization code, implicit, and client credentials OAuth 2.0 grants.
To use authorization server features, configure one of these features in the Amazon Cognito console or set AllowedOAuthFlowsUserPoolClient
to true
in a CreateUserPoolClient
or UpdateUserPoolClient
API request. If you don't set a value for AllowedOAuthFlowsUserPoolClient
in a request with the CLI or SDKs, it defaults to false
. When false
, only SDK-based API sign-in is permitted.
analytics_configuration: Option<AnalyticsConfigurationType>
The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign.
In Amazon Web Services Regions where Amazon Pinpoint isn't available, user pools only support sending events to Amazon Pinpoint projects in Amazon Web Services Region us-east-1. In Regions where Amazon Pinpoint is available, user pools support sending events to Amazon Pinpoint projects within that same Region.
prevent_user_existence_errors: Option<PreventUserExistenceErrorTypes>
When ENABLED
, suppresses messages that might indicate a valid user exists when someone attempts sign-in. This parameters sets your preference for the errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to ENABLED
and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY
, those APIs return a UserNotFoundException
exception if the user doesn't exist in the user pool.
Defaults to LEGACY
.
enable_token_revocation: Option<bool>
Indicates whether token revocation is activated for the user pool client. When you create a new user pool client, token revocation is activated by default.
enable_propagate_additional_user_context_data: Option<bool>
When EnablePropagateAdditionalUserContextData
is true, Amazon Cognito accepts an IpAddress
value that you send in the UserContextData
parameter. The UserContextData
parameter sends information to Amazon Cognito threat protection for risk analysis. You can send UserContextData
when you sign in Amazon Cognito native users with the InitiateAuth
and RespondToAuthChallenge
API operations.
When EnablePropagateAdditionalUserContextData
is false, you can't send your user's source IP address to Amazon Cognito threat protection with unauthenticated API operations. EnablePropagateAdditionalUserContextData
doesn't affect whether you can send a source IP address in a ContextData
parameter with the authenticated API operations AdminInitiateAuth
and AdminRespondToAuthChallenge
.
You can only activate EnablePropagateAdditionalUserContextData
in an app client that has a client secret. For more information about propagation of user context data, see Adding user device and session data to API requests.
auth_session_validity: Option<i32>
Amazon Cognito creates a session token for each API request in an authentication flow. AuthSessionValidity
is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.
refresh_token_rotation: Option<RefreshTokenRotationType>
The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.
Implementations§
Source§impl UserPoolClientType
impl UserPoolClientType
Sourcepub fn user_pool_id(&self) -> Option<&str>
pub fn user_pool_id(&self) -> Option<&str>
The ID of the user pool associated with the app client.
Sourcepub fn client_name(&self) -> Option<&str>
pub fn client_name(&self) -> Option<&str>
The name of the app client.
Sourcepub fn client_secret(&self) -> Option<&str>
pub fn client_secret(&self) -> Option<&str>
The app client secret.
Sourcepub fn last_modified_date(&self) -> Option<&DateTime>
pub fn last_modified_date(&self) -> Option<&DateTime>
The date and time when the item was modified. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date
object.
Sourcepub fn creation_date(&self) -> Option<&DateTime>
pub fn creation_date(&self) -> Option<&DateTime>
The date and time when the item was created. Amazon Cognito returns this timestamp in UNIX epoch time format. Your SDK might render the output in a human-readable format like ISO 8601 or a Java Date
object.
Sourcepub fn refresh_token_validity(&self) -> i32
pub fn refresh_token_validity(&self) -> i32
The refresh token time limit. After this limit expires, your user can't use their refresh token. To specify the time unit for RefreshTokenValidity
as seconds
, minutes
, hours
, or days
, set a TokenValidityUnits
value in your API request.
For example, when you set RefreshTokenValidity
as 10
and TokenValidityUnits
as days
, your user can refresh their session and retrieve new access and ID tokens for 10 days.
The default time unit for RefreshTokenValidity
in an API request is days. You can't set RefreshTokenValidity
to 0. If you do, Amazon Cognito overrides the value with the default value of 30 days. Valid range is displayed below in seconds.
If you don't specify otherwise in the configuration of your app client, your refresh tokens are valid for 30 days.
Sourcepub fn access_token_validity(&self) -> Option<i32>
pub fn access_token_validity(&self) -> Option<i32>
The access token time limit. After this limit expires, your user can't use their access token. To specify the time unit for AccessTokenValidity
as seconds
, minutes
, hours
, or days
, set a TokenValidityUnits
value in your API request.
For example, when you set AccessTokenValidity
to 10
and TokenValidityUnits
to hours
, your user can authorize access with their access token for 10 hours.
The default time unit for AccessTokenValidity
in an API request is hours. Valid range is displayed below in seconds.
If you don't specify otherwise in the configuration of your app client, your access tokens are valid for one hour.
Sourcepub fn id_token_validity(&self) -> Option<i32>
pub fn id_token_validity(&self) -> Option<i32>
The ID token time limit. After this limit expires, your user can't use their ID token. To specify the time unit for IdTokenValidity
as seconds
, minutes
, hours
, or days
, set a TokenValidityUnits
value in your API request.
For example, when you set IdTokenValidity
as 10
and TokenValidityUnits
as hours
, your user can authenticate their session with their ID token for 10 hours.
The default time unit for IdTokenValidity
in an API request is hours. Valid range is displayed below in seconds.
If you don't specify otherwise in the configuration of your app client, your ID tokens are valid for one hour.
Sourcepub fn token_validity_units(&self) -> Option<&TokenValidityUnitsType>
pub fn token_validity_units(&self) -> Option<&TokenValidityUnitsType>
The time units that, with IdTokenValidity
, AccessTokenValidity
, and RefreshTokenValidity
, set and display the duration of ID, access, and refresh tokens for an app client. You can assign a separate token validity unit to each type of token.
Sourcepub fn read_attributes(&self) -> &[String]
pub fn read_attributes(&self) -> &[String]
The list of user attributes that you want your app client to have read access to. After your user authenticates in your app, their access token authorizes them to read their own attribute value for any attribute in this list.
When you don't specify the ReadAttributes
for your app client, your app can read the values of email_verified
, phone_number_verified
, and the standard attributes of your user pool. When your user pool app client has read access to these default attributes, ReadAttributes
doesn't return any information. Amazon Cognito only populates ReadAttributes
in the API response if you have specified your own custom set of read attributes.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .read_attributes.is_none()
.
Sourcepub fn write_attributes(&self) -> &[String]
pub fn write_attributes(&self) -> &[String]
The list of user attributes that you want your app client to have write access to. After your user authenticates in your app, their access token authorizes them to set or modify their own attribute value for any attribute in this list.
When you don't specify the WriteAttributes
for your app client, your app can write the values of the Standard attributes of your user pool. When your user pool has write access to these default attributes, WriteAttributes
doesn't return any information. Amazon Cognito only populates WriteAttributes
in the API response if you have specified your own custom set of write attributes.
If your app client allows users to sign in through an IdP, this array must include all attributes that you have mapped to IdP attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an IdP. If your app client does not have write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see Specifying IdP Attribute Mappings for Your user pool.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .write_attributes.is_none()
.
Sourcepub fn explicit_auth_flows(&self) -> &[ExplicitAuthFlowsType]
pub fn explicit_auth_flows(&self) -> &[ExplicitAuthFlowsType]
The authentication flows that you want your user pool client to support. For each app client in your user pool, you can sign in your users with any combination of one or more flows, including with a user name and Secure Remote Password (SRP), a user name and password, or a custom authentication process that you define with Lambda functions.
If you don't specify a value for ExplicitAuthFlows
, your app client supports ALLOW_REFRESH_TOKEN_AUTH
, ALLOW_USER_SRP_AUTH
, and ALLOW_CUSTOM_AUTH
.
The values for authentication flow options include the following.
-
ALLOW_USER_AUTH
: Enable selection-based sign-in withUSER_AUTH
. This setting covers username-password, secure remote password (SRP), passwordless, and passkey authentication. This authentiation flow can do username-password and SRP authentication without otherExplicitAuthFlows
permitting them. For example users can complete an SRP challenge throughUSER_AUTH
without the flowUSER_SRP_AUTH
being active for the app client. This flow doesn't includeCUSTOM_AUTH
.To activate this setting, your user pool must be in the Essentials tier or higher.
-
ALLOW_ADMIN_USER_PASSWORD_AUTH
: Enable admin based user password authentication flowADMIN_USER_PASSWORD_AUTH
. This setting replaces theADMIN_NO_SRP_AUTH
setting. With this authentication flow, your app passes a user name and password to Amazon Cognito in the request, instead of using the Secure Remote Password (SRP) protocol to securely transmit the password. -
ALLOW_CUSTOM_AUTH
: Enable Lambda trigger based authentication. -
ALLOW_USER_PASSWORD_AUTH
: Enable user password-based authentication. In this flow, Amazon 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.
In some environments, you will see the values ADMIN_NO_SRP_AUTH
, CUSTOM_AUTH_FLOW_ONLY
, or USER_PASSWORD_AUTH
. You can't assign these legacy ExplicitAuthFlows
values to user pool clients at the same time as values that begin with ALLOW_
, like ALLOW_USER_SRP_AUTH
.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .explicit_auth_flows.is_none()
.
Sourcepub fn supported_identity_providers(&self) -> &[String]
pub fn supported_identity_providers(&self) -> &[String]
A list of provider names for the identity providers (IdPs) that are supported on this client. The following are supported: COGNITO
, Facebook
, Google
, SignInWithApple
, and LoginWithAmazon
. You can also specify the names that you configured for the SAML and OIDC IdPs in your user pool, for example MySAMLIdP
or MyOIDCIdP
.
This parameter sets the IdPs that managed login will display on the login page for your app client. The removal of COGNITO
from this list doesn't prevent authentication operations for local users with the user pools API in an Amazon Web Services SDK. The only way to prevent SDK-based authentication is to block access with a WAF rule.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .supported_identity_providers.is_none()
.
Sourcepub fn callback_urls(&self) -> &[String]
pub fn callback_urls(&self) -> &[String]
A list of allowed redirect (callback) URLs for the IdPs.
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.
Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.
App callback URLs such as myapp://example are also supported.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .callback_urls.is_none()
.
Sourcepub fn logout_urls(&self) -> &[String]
pub fn logout_urls(&self) -> &[String]
A list of allowed logout URLs for the IdPs.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .logout_urls.is_none()
.
Sourcepub fn default_redirect_uri(&self) -> Option<&str>
pub fn default_redirect_uri(&self) -> Option<&str>
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.
Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.
App callback URLs such as myapp://example are also supported.
Sourcepub fn allowed_o_auth_flows(&self) -> &[OAuthFlowType]
pub fn allowed_o_auth_flows(&self) -> &[OAuthFlowType]
The OAuth grant types that you want your app client to generate. To create an app client that generates client credentials grants, you must add client_credentials
as the only allowed OAuth flow.
- code
-
Use a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the
/oauth2/token
endpoint. - implicit
-
Issue the access token (and, optionally, ID token, based on scopes) directly to your user.
- client_credentials
-
Issue the access token from the
/oauth2/token
endpoint directly to a non-person user using a combination of the client ID and client secret.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .allowed_o_auth_flows.is_none()
.
Sourcepub fn allowed_o_auth_scopes(&self) -> &[String]
pub fn allowed_o_auth_scopes(&self) -> &[String]
The OAuth 2.0 scopes that you want your app client to support. Can include standard OAuth scopes like phone
, email
, openid
, and profile
. Can also include the aws.cognito.signin.user.admin
scope that authorizes user profile self-service operations and custom scopes from resource servers.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .allowed_o_auth_scopes.is_none()
.
Sourcepub fn allowed_o_auth_flows_user_pool_client(&self) -> Option<bool>
pub fn allowed_o_auth_flows_user_pool_client(&self) -> Option<bool>
Set to true
to use OAuth 2.0 authorization server features in your app client.
This parameter must have a value of true
before you can configure the following features in your app client.
-
CallBackURLs
: Callback URLs. -
LogoutURLs
: Sign-out redirect URLs. -
AllowedOAuthScopes
: OAuth 2.0 scopes. -
AllowedOAuthFlows
: Support for authorization code, implicit, and client credentials OAuth 2.0 grants.
To use authorization server features, configure one of these features in the Amazon Cognito console or set AllowedOAuthFlowsUserPoolClient
to true
in a CreateUserPoolClient
or UpdateUserPoolClient
API request. If you don't set a value for AllowedOAuthFlowsUserPoolClient
in a request with the CLI or SDKs, it defaults to false
. When false
, only SDK-based API sign-in is permitted.
Sourcepub fn analytics_configuration(&self) -> Option<&AnalyticsConfigurationType>
pub fn analytics_configuration(&self) -> Option<&AnalyticsConfigurationType>
The user pool analytics configuration for collecting metrics and sending them to your Amazon Pinpoint campaign.
In Amazon Web Services Regions where Amazon Pinpoint isn't available, user pools only support sending events to Amazon Pinpoint projects in Amazon Web Services Region us-east-1. In Regions where Amazon Pinpoint is available, user pools support sending events to Amazon Pinpoint projects within that same Region.
Sourcepub fn prevent_user_existence_errors(
&self,
) -> Option<&PreventUserExistenceErrorTypes>
pub fn prevent_user_existence_errors( &self, ) -> Option<&PreventUserExistenceErrorTypes>
When ENABLED
, suppresses messages that might indicate a valid user exists when someone attempts sign-in. This parameters sets your preference for the errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user pool. When set to ENABLED
and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY
, those APIs return a UserNotFoundException
exception if the user doesn't exist in the user pool.
Defaults to LEGACY
.
Sourcepub fn enable_token_revocation(&self) -> Option<bool>
pub fn enable_token_revocation(&self) -> Option<bool>
Indicates whether token revocation is activated for the user pool client. When you create a new user pool client, token revocation is activated by default.
Sourcepub fn enable_propagate_additional_user_context_data(&self) -> Option<bool>
pub fn enable_propagate_additional_user_context_data(&self) -> Option<bool>
When EnablePropagateAdditionalUserContextData
is true, Amazon Cognito accepts an IpAddress
value that you send in the UserContextData
parameter. The UserContextData
parameter sends information to Amazon Cognito threat protection for risk analysis. You can send UserContextData
when you sign in Amazon Cognito native users with the InitiateAuth
and RespondToAuthChallenge
API operations.
When EnablePropagateAdditionalUserContextData
is false, you can't send your user's source IP address to Amazon Cognito threat protection with unauthenticated API operations. EnablePropagateAdditionalUserContextData
doesn't affect whether you can send a source IP address in a ContextData
parameter with the authenticated API operations AdminInitiateAuth
and AdminRespondToAuthChallenge
.
You can only activate EnablePropagateAdditionalUserContextData
in an app client that has a client secret. For more information about propagation of user context data, see Adding user device and session data to API requests.
Sourcepub fn auth_session_validity(&self) -> Option<i32>
pub fn auth_session_validity(&self) -> Option<i32>
Amazon Cognito creates a session token for each API request in an authentication flow. AuthSessionValidity
is the duration, in minutes, of that session token. Your user pool native user must respond to each authentication challenge before the session expires.
Sourcepub fn refresh_token_rotation(&self) -> Option<&RefreshTokenRotationType>
pub fn refresh_token_rotation(&self) -> Option<&RefreshTokenRotationType>
The configuration of your app client for refresh token rotation. When enabled, your app client issues new ID, access, and refresh tokens when users renew their sessions with refresh tokens. When disabled, token refresh issues only ID and access tokens.
Source§impl UserPoolClientType
impl UserPoolClientType
Sourcepub fn builder() -> UserPoolClientTypeBuilder
pub fn builder() -> UserPoolClientTypeBuilder
Creates a new builder-style object to manufacture UserPoolClientType
.
Trait Implementations§
Source§impl Clone for UserPoolClientType
impl Clone for UserPoolClientType
Source§fn clone(&self) -> UserPoolClientType
fn clone(&self) -> UserPoolClientType
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for UserPoolClientType
impl Debug for UserPoolClientType
Source§impl PartialEq for UserPoolClientType
impl PartialEq for UserPoolClientType
impl StructuralPartialEq for UserPoolClientType
Auto Trait Implementations§
impl Freeze for UserPoolClientType
impl RefUnwindSafe for UserPoolClientType
impl Send for UserPoolClientType
impl Sync for UserPoolClientType
impl Unpin for UserPoolClientType
impl UnwindSafe for UserPoolClientType
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the foreground set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red()
and
green()
, which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg()
:
use yansi::{Paint, Color};
painted.fg(Color::White);
Set foreground color to white using white()
.
use yansi::Paint;
painted.white();
Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self
with the background set to
value
.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red()
and
on_green()
, which have the same functionality but
are pithier.
§Example
Set background color to red using fg()
:
use yansi::{Paint, Color};
painted.bg(Color::Red);
Set background color to red using on_red()
.
use yansi::Paint;
painted.on_red();
Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute
value
.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold()
and
underline()
, which have the same functionality
but are pithier.
§Example
Make text bold using attr()
:
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);
Make text bold using using bold()
.
use yansi::Paint;
painted.bold();
Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi
Quirk
value
.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask()
and
wrap()
, which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk()
:
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);
Enable wrapping using wrap()
.
use yansi::Paint;
painted.wrap();
Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting()
due to conflicts with Vec::clear()
.
The clear()
method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition
value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted
only when both stdout
and stderr
are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);