All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cognitoidp.model.CreateUserPoolClientRequest Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Cognito Identity Provider Service module holds the client classes that are used for communicating with Amazon Cognito Identity Provider Service.

There is a newer version: 1.12.772
Show newest version
/*
 * Copyright 2019-2024 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */
package com.amazonaws.services.cognitoidp.model;

import java.io.Serializable;
import javax.annotation.Generated;

import com.amazonaws.AmazonWebServiceRequest;

/**
 * 

* Represents the request to create a user pool client. *

* * @see AWS * API Documentation */ @Generated("com.amazonaws:aws-java-sdk-code-generator") public class CreateUserPoolClientRequest extends com.amazonaws.AmazonWebServiceRequest implements Serializable, Cloneable { /** *

* The user pool ID for the user pool where you want to create a user pool client. *

*/ private String userPoolId; /** *

* The client name for the user pool client you would like to create. *

*/ private String clientName; /** *

* Boolean to specify whether you want to generate a secret for the user pool client being created. *

*/ private Boolean generateSecret; /** *

* 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. *

*/ private Integer refreshTokenValidity; /** *

* 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. *

*/ private Integer accessTokenValidity; /** *

* 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. *

*/ private Integer idTokenValidity; /** *

* The units in which the validity times are represented. The default unit for RefreshToken is days, and default for * ID and access tokens are hours. *

*/ private TokenValidityUnitsType tokenValidityUnits; /** *

* The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their profile * information. Your app makes a GetUser * API request to retrieve and display your user's profile data. *

*

* 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 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. *

*/ private java.util.List readAttributes; /** *

* 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. An example of this kind of activity is when you present your user with a form to update their profile * information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value. *

*

* 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. *

*/ private java.util.List writeAttributes; /** *

* 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. *

*/ private java.util.List explicitAuthFlows; /** *

* 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. *

*/ private java.util.List supportedIdentityProviders; /** *

* 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. *

*/ private java.util.List callbackURLs; /** *

* A list of allowed logout URLs for the IdPs. *

*/ private java.util.List logoutURLs; /** *

* The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

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

*/ private String defaultRedirectURI; /** *

* 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. *

*
*
*/ private java.util.List allowedOAuthFlows; /** *

* 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. *

*/ private java.util.List allowedOAuthScopes; /** *

* Set to true to use OAuth 2.0 features in your user pool app client. *

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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 * . *

*/ private Boolean allowedOAuthFlowsUserPoolClient; /** *

* 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. *

*
*/ private AnalyticsConfigurationType analyticsConfiguration; /** *

* 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. *

*

* Valid values include: *

*
    *
  • *

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

    *
  • *
  • *

    * LEGACY - This represents the early behavior of Amazon Cognito where user existence related errors * aren't prevented. *

    *
  • *
*/ private String preventUserExistenceErrors; /** *

* Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken. *

*

* If you don't include this parameter, token revocation is automatically activated for the new user pool client. *

*/ private Boolean enableTokenRevocation; /** *

* Activates the propagation of additional user context data. For more information about propagation of user context * data, see * Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate * EnablePropagateAdditionalUserContextData in an app client that has a client secret. *

*/ private Boolean enablePropagateAdditionalUserContextData; /** *

* 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. *

*/ private Integer authSessionValidity; /** *

* The user pool ID for the user pool where you want to create a user pool client. *

* * @param userPoolId * The user pool ID for the user pool where you want to create a user pool client. */ public void setUserPoolId(String userPoolId) { this.userPoolId = userPoolId; } /** *

* The user pool ID for the user pool where you want to create a user pool client. *

* * @return The user pool ID for the user pool where you want to create a user pool client. */ public String getUserPoolId() { return this.userPoolId; } /** *

* The user pool ID for the user pool where you want to create a user pool client. *

* * @param userPoolId * The user pool ID for the user pool where you want to create a user pool client. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withUserPoolId(String userPoolId) { setUserPoolId(userPoolId); return this; } /** *

* The client name for the user pool client you would like to create. *

* * @param clientName * The client name for the user pool client you would like to create. */ public void setClientName(String clientName) { this.clientName = clientName; } /** *

* The client name for the user pool client you would like to create. *

* * @return The client name for the user pool client you would like to create. */ public String getClientName() { return this.clientName; } /** *

* The client name for the user pool client you would like to create. *

* * @param clientName * The client name for the user pool client you would like to create. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withClientName(String clientName) { setClientName(clientName); return this; } /** *

* Boolean to specify whether you want to generate a secret for the user pool client being created. *

* * @param generateSecret * Boolean to specify whether you want to generate a secret for the user pool client being created. */ public void setGenerateSecret(Boolean generateSecret) { this.generateSecret = generateSecret; } /** *

* Boolean to specify whether you want to generate a secret for the user pool client being created. *

* * @return Boolean to specify whether you want to generate a secret for the user pool client being created. */ public Boolean getGenerateSecret() { return this.generateSecret; } /** *

* Boolean to specify whether you want to generate a secret for the user pool client being created. *

* * @param generateSecret * Boolean to specify whether you want to generate a secret for the user pool client being created. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withGenerateSecret(Boolean generateSecret) { setGenerateSecret(generateSecret); return this; } /** *

* Boolean to specify whether you want to generate a secret for the user pool client being created. *

* * @return Boolean to specify whether you want to generate a secret for the user pool client being created. */ public Boolean isGenerateSecret() { return this.generateSecret; } /** *

* 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. *

* * @param refreshTokenValidity * 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. */ public void setRefreshTokenValidity(Integer refreshTokenValidity) { this.refreshTokenValidity = refreshTokenValidity; } /** *

* 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. *

* * @return 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. */ public Integer getRefreshTokenValidity() { return this.refreshTokenValidity; } /** *

* 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. *

* * @param refreshTokenValidity * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withRefreshTokenValidity(Integer refreshTokenValidity) { setRefreshTokenValidity(refreshTokenValidity); return this; } /** *

* 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. *

* * @param accessTokenValidity * 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. */ public void setAccessTokenValidity(Integer accessTokenValidity) { this.accessTokenValidity = accessTokenValidity; } /** *

* 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. *

* * @return 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. */ public Integer getAccessTokenValidity() { return this.accessTokenValidity; } /** *

* 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. *

* * @param accessTokenValidity * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withAccessTokenValidity(Integer accessTokenValidity) { setAccessTokenValidity(accessTokenValidity); return this; } /** *

* 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. *

* * @param idTokenValidity * 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. */ public void setIdTokenValidity(Integer idTokenValidity) { this.idTokenValidity = idTokenValidity; } /** *

* 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. *

* * @return 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. */ public Integer getIdTokenValidity() { return this.idTokenValidity; } /** *

* 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. *

* * @param idTokenValidity * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withIdTokenValidity(Integer idTokenValidity) { setIdTokenValidity(idTokenValidity); return this; } /** *

* The units in which the validity times are represented. The default unit for RefreshToken is days, and default for * ID and access tokens are hours. *

* * @param tokenValidityUnits * The units in which the validity times are represented. The default unit for RefreshToken is days, and * default for ID and access tokens are hours. */ public void setTokenValidityUnits(TokenValidityUnitsType tokenValidityUnits) { this.tokenValidityUnits = tokenValidityUnits; } /** *

* The units in which the validity times are represented. The default unit for RefreshToken is days, and default for * ID and access tokens are hours. *

* * @return The units in which the validity times are represented. The default unit for RefreshToken is days, and * default for ID and access tokens are hours. */ public TokenValidityUnitsType getTokenValidityUnits() { return this.tokenValidityUnits; } /** *

* The units in which the validity times are represented. The default unit for RefreshToken is days, and default for * ID and access tokens are hours. *

* * @param tokenValidityUnits * The units in which the validity times are represented. The default unit for RefreshToken is days, and * default for ID and access tokens are hours. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withTokenValidityUnits(TokenValidityUnitsType tokenValidityUnits) { setTokenValidityUnits(tokenValidityUnits); return this; } /** *

* The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their profile * information. Your app makes a GetUser * API request to retrieve and display your user's profile data. *

*

* 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 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. *

* * @return The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view * their profile information. Your app makes a GetUser API request to retrieve and display your user's profile data.

*

* 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 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. */ public java.util.List getReadAttributes() { return readAttributes; } /** *

* The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their profile * information. Your app makes a GetUser * API request to retrieve and display your user's profile data. *

*

* 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 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. *

* * @param readAttributes * The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their * profile information. Your app makes a GetUser API request to retrieve and display your user's profile data.

*

* 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 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. */ public void setReadAttributes(java.util.Collection readAttributes) { if (readAttributes == null) { this.readAttributes = null; return; } this.readAttributes = new java.util.ArrayList(readAttributes); } /** *

* The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their profile * information. Your app makes a GetUser * API request to retrieve and display your user's profile data. *

*

* 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 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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setReadAttributes(java.util.Collection)} or {@link #withReadAttributes(java.util.Collection)} if you want * to override the existing values. *

* * @param readAttributes * The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their * profile information. Your app makes a GetUser API request to retrieve and display your user's profile data.

*

* 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 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withReadAttributes(String... readAttributes) { if (this.readAttributes == null) { setReadAttributes(new java.util.ArrayList(readAttributes.length)); } for (String ele : readAttributes) { this.readAttributes.add(ele); } return this; } /** *

* The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their profile * information. Your app makes a GetUser * API request to retrieve and display your user's profile data. *

*

* 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 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. *

* * @param readAttributes * The list of user attributes that you want your app client to have read-only 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. An example of this kind of activity is when your user selects a link to view their * profile information. Your app makes a GetUser API request to retrieve and display your user's profile data.

*

* 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 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withReadAttributes(java.util.Collection readAttributes) { setReadAttributes(readAttributes); return this; } /** *

* 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. An example of this kind of activity is when you present your user with a form to update their profile * information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value. *

*

* 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. *

* * @return 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. An example of this kind of activity is when you present your user with a * form to update their profile information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value.

*

* 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. */ public java.util.List getWriteAttributes() { return writeAttributes; } /** *

* 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. An example of this kind of activity is when you present your user with a form to update their profile * information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value. *

*

* 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. *

* * @param writeAttributes * 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. An example of this kind of activity is when you present your user with a * form to update their profile information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value.

*

* 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. */ public void setWriteAttributes(java.util.Collection writeAttributes) { if (writeAttributes == null) { this.writeAttributes = null; return; } this.writeAttributes = new java.util.ArrayList(writeAttributes); } /** *

* 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. An example of this kind of activity is when you present your user with a form to update their profile * information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value. *

*

* 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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setWriteAttributes(java.util.Collection)} or {@link #withWriteAttributes(java.util.Collection)} if you * want to override the existing values. *

* * @param writeAttributes * 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. An example of this kind of activity is when you present your user with a * form to update their profile information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value.

*

* 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withWriteAttributes(String... writeAttributes) { if (this.writeAttributes == null) { setWriteAttributes(new java.util.ArrayList(writeAttributes.length)); } for (String ele : writeAttributes) { this.writeAttributes.add(ele); } return this; } /** *

* 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. An example of this kind of activity is when you present your user with a form to update their profile * information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value. *

*

* 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. *

* * @param writeAttributes * 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. An example of this kind of activity is when you present your user with a * form to update their profile information and they change their last name. Your app then makes an UpdateUserAttributes API request and sets family_name to the new value.

*

* 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withWriteAttributes(java.util.Collection writeAttributes) { setWriteAttributes(writeAttributes); return this; } /** *

* 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. *

* * @return 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and * ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. * @see ExplicitAuthFlowsType */ public java.util.List getExplicitAuthFlows() { return explicitAuthFlows; } /** *

* 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. *

* * @param explicitAuthFlows * 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and * ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. * @see ExplicitAuthFlowsType */ public void setExplicitAuthFlows(java.util.Collection explicitAuthFlows) { if (explicitAuthFlows == null) { this.explicitAuthFlows = null; return; } this.explicitAuthFlows = new java.util.ArrayList(explicitAuthFlows); } /** *

* 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setExplicitAuthFlows(java.util.Collection)} or {@link #withExplicitAuthFlows(java.util.Collection)} if * you want to override the existing values. *

* * @param explicitAuthFlows * 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and * ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ExplicitAuthFlowsType */ public CreateUserPoolClientRequest withExplicitAuthFlows(String... explicitAuthFlows) { if (this.explicitAuthFlows == null) { setExplicitAuthFlows(new java.util.ArrayList(explicitAuthFlows.length)); } for (String ele : explicitAuthFlows) { this.explicitAuthFlows.add(ele); } return this; } /** *

* 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. *

* * @param explicitAuthFlows * 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and * ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ExplicitAuthFlowsType */ public CreateUserPoolClientRequest withExplicitAuthFlows(java.util.Collection explicitAuthFlows) { setExplicitAuthFlows(explicitAuthFlows); return this; } /** *

* 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. *

* * @param explicitAuthFlows * 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 user client supports * ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and * ALLOW_CUSTOM_AUTH. *

*
*

* 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, 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. * @return Returns a reference to this object so that method calls can be chained together. * @see ExplicitAuthFlowsType */ public CreateUserPoolClientRequest withExplicitAuthFlows(ExplicitAuthFlowsType... explicitAuthFlows) { java.util.ArrayList explicitAuthFlowsCopy = new java.util.ArrayList(explicitAuthFlows.length); for (ExplicitAuthFlowsType value : explicitAuthFlows) { explicitAuthFlowsCopy.add(value.toString()); } if (getExplicitAuthFlows() == null) { setExplicitAuthFlows(explicitAuthFlowsCopy); } else { getExplicitAuthFlows().addAll(explicitAuthFlowsCopy); } return this; } /** *

* 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. *

* * @return 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. */ public java.util.List getSupportedIdentityProviders() { return supportedIdentityProviders; } /** *

* 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. *

* * @param supportedIdentityProviders * 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. */ public void setSupportedIdentityProviders(java.util.Collection supportedIdentityProviders) { if (supportedIdentityProviders == null) { this.supportedIdentityProviders = null; return; } this.supportedIdentityProviders = new java.util.ArrayList(supportedIdentityProviders); } /** *

* 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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setSupportedIdentityProviders(java.util.Collection)} or * {@link #withSupportedIdentityProviders(java.util.Collection)} if you want to override the existing values. *

* * @param supportedIdentityProviders * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withSupportedIdentityProviders(String... supportedIdentityProviders) { if (this.supportedIdentityProviders == null) { setSupportedIdentityProviders(new java.util.ArrayList(supportedIdentityProviders.length)); } for (String ele : supportedIdentityProviders) { this.supportedIdentityProviders.add(ele); } return this; } /** *

* 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. *

* * @param supportedIdentityProviders * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withSupportedIdentityProviders(java.util.Collection supportedIdentityProviders) { setSupportedIdentityProviders(supportedIdentityProviders); return this; } /** *

* 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. *

* * @return 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. */ public java.util.List getCallbackURLs() { return callbackURLs; } /** *

* 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. *

* * @param callbackURLs * 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. */ public void setCallbackURLs(java.util.Collection callbackURLs) { if (callbackURLs == null) { this.callbackURLs = null; return; } this.callbackURLs = new java.util.ArrayList(callbackURLs); } /** *

* 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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setCallbackURLs(java.util.Collection)} or {@link #withCallbackURLs(java.util.Collection)} if you want to * override the existing values. *

* * @param callbackURLs * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withCallbackURLs(String... callbackURLs) { if (this.callbackURLs == null) { setCallbackURLs(new java.util.ArrayList(callbackURLs.length)); } for (String ele : callbackURLs) { this.callbackURLs.add(ele); } return this; } /** *

* 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. *

* * @param callbackURLs * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withCallbackURLs(java.util.Collection callbackURLs) { setCallbackURLs(callbackURLs); return this; } /** *

* A list of allowed logout URLs for the IdPs. *

* * @return A list of allowed logout URLs for the IdPs. */ public java.util.List getLogoutURLs() { return logoutURLs; } /** *

* A list of allowed logout URLs for the IdPs. *

* * @param logoutURLs * A list of allowed logout URLs for the IdPs. */ public void setLogoutURLs(java.util.Collection logoutURLs) { if (logoutURLs == null) { this.logoutURLs = null; return; } this.logoutURLs = new java.util.ArrayList(logoutURLs); } /** *

* A list of allowed logout URLs for the IdPs. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setLogoutURLs(java.util.Collection)} or {@link #withLogoutURLs(java.util.Collection)} if you want to * override the existing values. *

* * @param logoutURLs * A list of allowed logout URLs for the IdPs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withLogoutURLs(String... logoutURLs) { if (this.logoutURLs == null) { setLogoutURLs(new java.util.ArrayList(logoutURLs.length)); } for (String ele : logoutURLs) { this.logoutURLs.add(ele); } return this; } /** *

* A list of allowed logout URLs for the IdPs. *

* * @param logoutURLs * A list of allowed logout URLs for the IdPs. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withLogoutURLs(java.util.Collection logoutURLs) { setLogoutURLs(logoutURLs); return this; } /** *

* The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

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

* * @param defaultRedirectURI * The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

* App callback URLs such as myapp://example are also supported. */ public void setDefaultRedirectURI(String defaultRedirectURI) { this.defaultRedirectURI = defaultRedirectURI; } /** *

* The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

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

* * @return The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

* App callback URLs such as myapp://example are also supported. */ public String getDefaultRedirectURI() { return this.defaultRedirectURI; } /** *

* The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

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

* * @param defaultRedirectURI * The default redirect URI. In app clients with one assigned IdP, replaces redirect_uri in * authentication requests. 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. *

    *
  • *
*

* For more information, see Default redirect URI. *

*

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

*

* App callback URLs such as myapp://example are also supported. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withDefaultRedirectURI(String defaultRedirectURI) { setDefaultRedirectURI(defaultRedirectURI); return this; } /** *

* 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. *

*
*
* * @return 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. *

*
* @see OAuthFlowType */ public java.util.List getAllowedOAuthFlows() { return allowedOAuthFlows; } /** *

* 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. *

*
*
* * @param allowedOAuthFlows * 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. *

*
* @see OAuthFlowType */ public void setAllowedOAuthFlows(java.util.Collection allowedOAuthFlows) { if (allowedOAuthFlows == null) { this.allowedOAuthFlows = null; return; } this.allowedOAuthFlows = new java.util.ArrayList(allowedOAuthFlows); } /** *

* 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. *

*
*
*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAllowedOAuthFlows(java.util.Collection)} or {@link #withAllowedOAuthFlows(java.util.Collection)} if * you want to override the existing values. *

* * @param allowedOAuthFlows * 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. *

*
* @return Returns a reference to this object so that method calls can be chained together. * @see OAuthFlowType */ public CreateUserPoolClientRequest withAllowedOAuthFlows(String... allowedOAuthFlows) { if (this.allowedOAuthFlows == null) { setAllowedOAuthFlows(new java.util.ArrayList(allowedOAuthFlows.length)); } for (String ele : allowedOAuthFlows) { this.allowedOAuthFlows.add(ele); } return this; } /** *

* 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. *

*
*
* * @param allowedOAuthFlows * 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. *

*
* @return Returns a reference to this object so that method calls can be chained together. * @see OAuthFlowType */ public CreateUserPoolClientRequest withAllowedOAuthFlows(java.util.Collection allowedOAuthFlows) { setAllowedOAuthFlows(allowedOAuthFlows); return this; } /** *

* 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. *

*
*
* * @param allowedOAuthFlows * 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. *

*
* @return Returns a reference to this object so that method calls can be chained together. * @see OAuthFlowType */ public CreateUserPoolClientRequest withAllowedOAuthFlows(OAuthFlowType... allowedOAuthFlows) { java.util.ArrayList allowedOAuthFlowsCopy = new java.util.ArrayList(allowedOAuthFlows.length); for (OAuthFlowType value : allowedOAuthFlows) { allowedOAuthFlowsCopy.add(value.toString()); } if (getAllowedOAuthFlows() == null) { setAllowedOAuthFlows(allowedOAuthFlowsCopy); } else { getAllowedOAuthFlows().addAll(allowedOAuthFlowsCopy); } return this; } /** *

* 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 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. */ public java.util.List getAllowedOAuthScopes() { return allowedOAuthScopes; } /** *

* 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. *

* * @param allowedOAuthScopes * 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. */ public void setAllowedOAuthScopes(java.util.Collection allowedOAuthScopes) { if (allowedOAuthScopes == null) { this.allowedOAuthScopes = null; return; } this.allowedOAuthScopes = new java.util.ArrayList(allowedOAuthScopes); } /** *

* 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. *

*

* NOTE: This method appends the values to the existing list (if any). Use * {@link #setAllowedOAuthScopes(java.util.Collection)} or {@link #withAllowedOAuthScopes(java.util.Collection)} if * you want to override the existing values. *

* * @param allowedOAuthScopes * 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 Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withAllowedOAuthScopes(String... allowedOAuthScopes) { if (this.allowedOAuthScopes == null) { setAllowedOAuthScopes(new java.util.ArrayList(allowedOAuthScopes.length)); } for (String ele : allowedOAuthScopes) { this.allowedOAuthScopes.add(ele); } return this; } /** *

* 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. *

* * @param allowedOAuthScopes * 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 Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withAllowedOAuthScopes(java.util.Collection allowedOAuthScopes) { setAllowedOAuthScopes(allowedOAuthScopes); return this; } /** *

* Set to true to use OAuth 2.0 features in your user pool app client. *

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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 * . *

* * @param allowedOAuthFlowsUserPoolClient * Set to true to use OAuth 2.0 features in your user pool app client.

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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. */ public void setAllowedOAuthFlowsUserPoolClient(Boolean allowedOAuthFlowsUserPoolClient) { this.allowedOAuthFlowsUserPoolClient = allowedOAuthFlowsUserPoolClient; } /** *

* Set to true to use OAuth 2.0 features in your user pool app client. *

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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 * . *

* * @return Set to true to use OAuth 2.0 features in your user pool app client.

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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. */ public Boolean getAllowedOAuthFlowsUserPoolClient() { return this.allowedOAuthFlowsUserPoolClient; } /** *

* Set to true to use OAuth 2.0 features in your user pool app client. *

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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 * . *

* * @param allowedOAuthFlowsUserPoolClient * Set to true to use OAuth 2.0 features in your user pool app client.

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withAllowedOAuthFlowsUserPoolClient(Boolean allowedOAuthFlowsUserPoolClient) { setAllowedOAuthFlowsUserPoolClient(allowedOAuthFlowsUserPoolClient); return this; } /** *

* Set to true to use OAuth 2.0 features in your user pool app client. *

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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 * . *

* * @return Set to true to use OAuth 2.0 features in your user pool app client.

*

* AllowedOAuthFlowsUserPoolClient must be 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 OAuth 2.0 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. */ public Boolean isAllowedOAuthFlowsUserPoolClient() { return this.allowedOAuthFlowsUserPoolClient; } /** *

* 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. *

*
* * @param analyticsConfiguration * 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. *

*/ public void setAnalyticsConfiguration(AnalyticsConfigurationType analyticsConfiguration) { this.analyticsConfiguration = analyticsConfiguration; } /** *

* 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. *

*
* * @return 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. *

*/ public AnalyticsConfigurationType getAnalyticsConfiguration() { return this.analyticsConfiguration; } /** *

* 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. *

*
* * @param analyticsConfiguration * 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. *

* @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withAnalyticsConfiguration(AnalyticsConfigurationType analyticsConfiguration) { setAnalyticsConfiguration(analyticsConfiguration); return this; } /** *

* 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. *

*

* Valid values include: *

*
    *
  • *

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

    *
  • *
  • *

    * LEGACY - This represents the early behavior of Amazon Cognito where user existence related errors * aren't prevented. *

    *
  • *
* * @param preventUserExistenceErrors * 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.

*

* Valid values include: *

*
    *
  • *

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

    *
  • *
  • *

    * LEGACY - This represents the early behavior of Amazon Cognito where user existence related * errors aren't prevented. *

    *
  • * @see PreventUserExistenceErrorTypes */ public void setPreventUserExistenceErrors(String preventUserExistenceErrors) { this.preventUserExistenceErrors = preventUserExistenceErrors; } /** *

    * 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. *

    *

    * Valid values include: *

    *
      *
    • *

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

      *
    • *
    • *

      * LEGACY - This represents the early behavior of Amazon Cognito where user existence related errors * aren't prevented. *

      *
    • *
    * * @return 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.

    *

    * Valid values include: *

    *
      *
    • *

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

      *
    • *
    • *

      * LEGACY - This represents the early behavior of Amazon Cognito where user existence related * errors aren't prevented. *

      *
    • * @see PreventUserExistenceErrorTypes */ public String getPreventUserExistenceErrors() { return this.preventUserExistenceErrors; } /** *

      * 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. *

      *

      * Valid values include: *

      *
        *
      • *

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

        *
      • *
      • *

        * LEGACY - This represents the early behavior of Amazon Cognito where user existence related errors * aren't prevented. *

        *
      • *
      * * @param preventUserExistenceErrors * 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.

      *

      * Valid values include: *

      *
        *
      • *

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

        *
      • *
      • *

        * LEGACY - This represents the early behavior of Amazon Cognito where user existence related * errors aren't prevented. *

        *
      • * @return Returns a reference to this object so that method calls can be chained together. * @see PreventUserExistenceErrorTypes */ public CreateUserPoolClientRequest withPreventUserExistenceErrors(String preventUserExistenceErrors) { setPreventUserExistenceErrors(preventUserExistenceErrors); return this; } /** *

        * 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. *

        *

        * Valid values include: *

        *
          *
        • *

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

          *
        • *
        • *

          * LEGACY - This represents the early behavior of Amazon Cognito where user existence related errors * aren't prevented. *

          *
        • *
        * * @param preventUserExistenceErrors * 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.

        *

        * Valid values include: *

        *
          *
        • *

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

          *
        • *
        • *

          * LEGACY - This represents the early behavior of Amazon Cognito where user existence related * errors aren't prevented. *

          *
        • * @return Returns a reference to this object so that method calls can be chained together. * @see PreventUserExistenceErrorTypes */ public CreateUserPoolClientRequest withPreventUserExistenceErrors(PreventUserExistenceErrorTypes preventUserExistenceErrors) { this.preventUserExistenceErrors = preventUserExistenceErrors.toString(); return this; } /** *

          * Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken. *

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool client. *

          * * @param enableTokenRevocation * Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken.

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool * client. */ public void setEnableTokenRevocation(Boolean enableTokenRevocation) { this.enableTokenRevocation = enableTokenRevocation; } /** *

          * Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken. *

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool client. *

          * * @return Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken.

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool * client. */ public Boolean getEnableTokenRevocation() { return this.enableTokenRevocation; } /** *

          * Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken. *

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool client. *

          * * @param enableTokenRevocation * Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken.

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool * client. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withEnableTokenRevocation(Boolean enableTokenRevocation) { setEnableTokenRevocation(enableTokenRevocation); return this; } /** *

          * Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken. *

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool client. *

          * * @return Activates or deactivates token revocation. For more information about revoking tokens, see RevokeToken.

          *

          * If you don't include this parameter, token revocation is automatically activated for the new user pool * client. */ public Boolean isEnableTokenRevocation() { return this.enableTokenRevocation; } /** *

          * Activates the propagation of additional user context data. For more information about propagation of user context * data, see * Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate * EnablePropagateAdditionalUserContextData in an app client that has a client secret. *

          * * @param enablePropagateAdditionalUserContextData * Activates the propagation of additional user context data. For more information about propagation of user * context data, see Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only * activate EnablePropagateAdditionalUserContextData in an app client that has a client secret. */ public void setEnablePropagateAdditionalUserContextData(Boolean enablePropagateAdditionalUserContextData) { this.enablePropagateAdditionalUserContextData = enablePropagateAdditionalUserContextData; } /** *

          * Activates the propagation of additional user context data. For more information about propagation of user context * data, see * Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate * EnablePropagateAdditionalUserContextData in an app client that has a client secret. *

          * * @return Activates the propagation of additional user context data. For more information about propagation of user * context data, see Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only * activate EnablePropagateAdditionalUserContextData in an app client that has a client secret. */ public Boolean getEnablePropagateAdditionalUserContextData() { return this.enablePropagateAdditionalUserContextData; } /** *

          * Activates the propagation of additional user context data. For more information about propagation of user context * data, see * Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate * EnablePropagateAdditionalUserContextData in an app client that has a client secret. *

          * * @param enablePropagateAdditionalUserContextData * Activates the propagation of additional user context data. For more information about propagation of user * context data, see Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only * activate EnablePropagateAdditionalUserContextData in an app client that has a client secret. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withEnablePropagateAdditionalUserContextData(Boolean enablePropagateAdditionalUserContextData) { setEnablePropagateAdditionalUserContextData(enablePropagateAdditionalUserContextData); return this; } /** *

          * Activates the propagation of additional user context data. For more information about propagation of user context * data, see * Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only activate * EnablePropagateAdditionalUserContextData in an app client that has a client secret. *

          * * @return Activates the propagation of additional user context data. For more information about propagation of user * context data, see Adding advanced security to a user pool. If you don’t include this parameter, you can't send device * fingerprint information, including source IP address, to Amazon Cognito advanced security. You can only * activate EnablePropagateAdditionalUserContextData in an app client that has a client secret. */ public Boolean isEnablePropagateAdditionalUserContextData() { return this.enablePropagateAdditionalUserContextData; } /** *

          * 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. *

          * * @param authSessionValidity * 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. */ public void setAuthSessionValidity(Integer authSessionValidity) { this.authSessionValidity = authSessionValidity; } /** *

          * 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. *

          * * @return 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. */ public Integer getAuthSessionValidity() { return this.authSessionValidity; } /** *

          * 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. *

          * * @param authSessionValidity * 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. * @return Returns a reference to this object so that method calls can be chained together. */ public CreateUserPoolClientRequest withAuthSessionValidity(Integer authSessionValidity) { setAuthSessionValidity(authSessionValidity); return this; } /** * Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be * redacted from this string using a placeholder value. * * @return A string representation of this object. * * @see java.lang.Object#toString() */ @Override public String toString() { StringBuilder sb = new StringBuilder(); sb.append("{"); if (getUserPoolId() != null) sb.append("UserPoolId: ").append(getUserPoolId()).append(","); if (getClientName() != null) sb.append("ClientName: ").append(getClientName()).append(","); if (getGenerateSecret() != null) sb.append("GenerateSecret: ").append(getGenerateSecret()).append(","); if (getRefreshTokenValidity() != null) sb.append("RefreshTokenValidity: ").append(getRefreshTokenValidity()).append(","); if (getAccessTokenValidity() != null) sb.append("AccessTokenValidity: ").append(getAccessTokenValidity()).append(","); if (getIdTokenValidity() != null) sb.append("IdTokenValidity: ").append(getIdTokenValidity()).append(","); if (getTokenValidityUnits() != null) sb.append("TokenValidityUnits: ").append(getTokenValidityUnits()).append(","); if (getReadAttributes() != null) sb.append("ReadAttributes: ").append(getReadAttributes()).append(","); if (getWriteAttributes() != null) sb.append("WriteAttributes: ").append(getWriteAttributes()).append(","); if (getExplicitAuthFlows() != null) sb.append("ExplicitAuthFlows: ").append(getExplicitAuthFlows()).append(","); if (getSupportedIdentityProviders() != null) sb.append("SupportedIdentityProviders: ").append(getSupportedIdentityProviders()).append(","); if (getCallbackURLs() != null) sb.append("CallbackURLs: ").append(getCallbackURLs()).append(","); if (getLogoutURLs() != null) sb.append("LogoutURLs: ").append(getLogoutURLs()).append(","); if (getDefaultRedirectURI() != null) sb.append("DefaultRedirectURI: ").append(getDefaultRedirectURI()).append(","); if (getAllowedOAuthFlows() != null) sb.append("AllowedOAuthFlows: ").append(getAllowedOAuthFlows()).append(","); if (getAllowedOAuthScopes() != null) sb.append("AllowedOAuthScopes: ").append(getAllowedOAuthScopes()).append(","); if (getAllowedOAuthFlowsUserPoolClient() != null) sb.append("AllowedOAuthFlowsUserPoolClient: ").append(getAllowedOAuthFlowsUserPoolClient()).append(","); if (getAnalyticsConfiguration() != null) sb.append("AnalyticsConfiguration: ").append(getAnalyticsConfiguration()).append(","); if (getPreventUserExistenceErrors() != null) sb.append("PreventUserExistenceErrors: ").append(getPreventUserExistenceErrors()).append(","); if (getEnableTokenRevocation() != null) sb.append("EnableTokenRevocation: ").append(getEnableTokenRevocation()).append(","); if (getEnablePropagateAdditionalUserContextData() != null) sb.append("EnablePropagateAdditionalUserContextData: ").append(getEnablePropagateAdditionalUserContextData()).append(","); if (getAuthSessionValidity() != null) sb.append("AuthSessionValidity: ").append(getAuthSessionValidity()); sb.append("}"); return sb.toString(); } @Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (obj instanceof CreateUserPoolClientRequest == false) return false; CreateUserPoolClientRequest other = (CreateUserPoolClientRequest) obj; if (other.getUserPoolId() == null ^ this.getUserPoolId() == null) return false; if (other.getUserPoolId() != null && other.getUserPoolId().equals(this.getUserPoolId()) == false) return false; if (other.getClientName() == null ^ this.getClientName() == null) return false; if (other.getClientName() != null && other.getClientName().equals(this.getClientName()) == false) return false; if (other.getGenerateSecret() == null ^ this.getGenerateSecret() == null) return false; if (other.getGenerateSecret() != null && other.getGenerateSecret().equals(this.getGenerateSecret()) == false) return false; if (other.getRefreshTokenValidity() == null ^ this.getRefreshTokenValidity() == null) return false; if (other.getRefreshTokenValidity() != null && other.getRefreshTokenValidity().equals(this.getRefreshTokenValidity()) == false) return false; if (other.getAccessTokenValidity() == null ^ this.getAccessTokenValidity() == null) return false; if (other.getAccessTokenValidity() != null && other.getAccessTokenValidity().equals(this.getAccessTokenValidity()) == false) return false; if (other.getIdTokenValidity() == null ^ this.getIdTokenValidity() == null) return false; if (other.getIdTokenValidity() != null && other.getIdTokenValidity().equals(this.getIdTokenValidity()) == false) return false; if (other.getTokenValidityUnits() == null ^ this.getTokenValidityUnits() == null) return false; if (other.getTokenValidityUnits() != null && other.getTokenValidityUnits().equals(this.getTokenValidityUnits()) == false) return false; if (other.getReadAttributes() == null ^ this.getReadAttributes() == null) return false; if (other.getReadAttributes() != null && other.getReadAttributes().equals(this.getReadAttributes()) == false) return false; if (other.getWriteAttributes() == null ^ this.getWriteAttributes() == null) return false; if (other.getWriteAttributes() != null && other.getWriteAttributes().equals(this.getWriteAttributes()) == false) return false; if (other.getExplicitAuthFlows() == null ^ this.getExplicitAuthFlows() == null) return false; if (other.getExplicitAuthFlows() != null && other.getExplicitAuthFlows().equals(this.getExplicitAuthFlows()) == false) return false; if (other.getSupportedIdentityProviders() == null ^ this.getSupportedIdentityProviders() == null) return false; if (other.getSupportedIdentityProviders() != null && other.getSupportedIdentityProviders().equals(this.getSupportedIdentityProviders()) == false) return false; if (other.getCallbackURLs() == null ^ this.getCallbackURLs() == null) return false; if (other.getCallbackURLs() != null && other.getCallbackURLs().equals(this.getCallbackURLs()) == false) return false; if (other.getLogoutURLs() == null ^ this.getLogoutURLs() == null) return false; if (other.getLogoutURLs() != null && other.getLogoutURLs().equals(this.getLogoutURLs()) == false) return false; if (other.getDefaultRedirectURI() == null ^ this.getDefaultRedirectURI() == null) return false; if (other.getDefaultRedirectURI() != null && other.getDefaultRedirectURI().equals(this.getDefaultRedirectURI()) == false) return false; if (other.getAllowedOAuthFlows() == null ^ this.getAllowedOAuthFlows() == null) return false; if (other.getAllowedOAuthFlows() != null && other.getAllowedOAuthFlows().equals(this.getAllowedOAuthFlows()) == false) return false; if (other.getAllowedOAuthScopes() == null ^ this.getAllowedOAuthScopes() == null) return false; if (other.getAllowedOAuthScopes() != null && other.getAllowedOAuthScopes().equals(this.getAllowedOAuthScopes()) == false) return false; if (other.getAllowedOAuthFlowsUserPoolClient() == null ^ this.getAllowedOAuthFlowsUserPoolClient() == null) return false; if (other.getAllowedOAuthFlowsUserPoolClient() != null && other.getAllowedOAuthFlowsUserPoolClient().equals(this.getAllowedOAuthFlowsUserPoolClient()) == false) return false; if (other.getAnalyticsConfiguration() == null ^ this.getAnalyticsConfiguration() == null) return false; if (other.getAnalyticsConfiguration() != null && other.getAnalyticsConfiguration().equals(this.getAnalyticsConfiguration()) == false) return false; if (other.getPreventUserExistenceErrors() == null ^ this.getPreventUserExistenceErrors() == null) return false; if (other.getPreventUserExistenceErrors() != null && other.getPreventUserExistenceErrors().equals(this.getPreventUserExistenceErrors()) == false) return false; if (other.getEnableTokenRevocation() == null ^ this.getEnableTokenRevocation() == null) return false; if (other.getEnableTokenRevocation() != null && other.getEnableTokenRevocation().equals(this.getEnableTokenRevocation()) == false) return false; if (other.getEnablePropagateAdditionalUserContextData() == null ^ this.getEnablePropagateAdditionalUserContextData() == null) return false; if (other.getEnablePropagateAdditionalUserContextData() != null && other.getEnablePropagateAdditionalUserContextData().equals(this.getEnablePropagateAdditionalUserContextData()) == false) return false; if (other.getAuthSessionValidity() == null ^ this.getAuthSessionValidity() == null) return false; if (other.getAuthSessionValidity() != null && other.getAuthSessionValidity().equals(this.getAuthSessionValidity()) == false) return false; return true; } @Override public int hashCode() { final int prime = 31; int hashCode = 1; hashCode = prime * hashCode + ((getUserPoolId() == null) ? 0 : getUserPoolId().hashCode()); hashCode = prime * hashCode + ((getClientName() == null) ? 0 : getClientName().hashCode()); hashCode = prime * hashCode + ((getGenerateSecret() == null) ? 0 : getGenerateSecret().hashCode()); hashCode = prime * hashCode + ((getRefreshTokenValidity() == null) ? 0 : getRefreshTokenValidity().hashCode()); hashCode = prime * hashCode + ((getAccessTokenValidity() == null) ? 0 : getAccessTokenValidity().hashCode()); hashCode = prime * hashCode + ((getIdTokenValidity() == null) ? 0 : getIdTokenValidity().hashCode()); hashCode = prime * hashCode + ((getTokenValidityUnits() == null) ? 0 : getTokenValidityUnits().hashCode()); hashCode = prime * hashCode + ((getReadAttributes() == null) ? 0 : getReadAttributes().hashCode()); hashCode = prime * hashCode + ((getWriteAttributes() == null) ? 0 : getWriteAttributes().hashCode()); hashCode = prime * hashCode + ((getExplicitAuthFlows() == null) ? 0 : getExplicitAuthFlows().hashCode()); hashCode = prime * hashCode + ((getSupportedIdentityProviders() == null) ? 0 : getSupportedIdentityProviders().hashCode()); hashCode = prime * hashCode + ((getCallbackURLs() == null) ? 0 : getCallbackURLs().hashCode()); hashCode = prime * hashCode + ((getLogoutURLs() == null) ? 0 : getLogoutURLs().hashCode()); hashCode = prime * hashCode + ((getDefaultRedirectURI() == null) ? 0 : getDefaultRedirectURI().hashCode()); hashCode = prime * hashCode + ((getAllowedOAuthFlows() == null) ? 0 : getAllowedOAuthFlows().hashCode()); hashCode = prime * hashCode + ((getAllowedOAuthScopes() == null) ? 0 : getAllowedOAuthScopes().hashCode()); hashCode = prime * hashCode + ((getAllowedOAuthFlowsUserPoolClient() == null) ? 0 : getAllowedOAuthFlowsUserPoolClient().hashCode()); hashCode = prime * hashCode + ((getAnalyticsConfiguration() == null) ? 0 : getAnalyticsConfiguration().hashCode()); hashCode = prime * hashCode + ((getPreventUserExistenceErrors() == null) ? 0 : getPreventUserExistenceErrors().hashCode()); hashCode = prime * hashCode + ((getEnableTokenRevocation() == null) ? 0 : getEnableTokenRevocation().hashCode()); hashCode = prime * hashCode + ((getEnablePropagateAdditionalUserContextData() == null) ? 0 : getEnablePropagateAdditionalUserContextData().hashCode()); hashCode = prime * hashCode + ((getAuthSessionValidity() == null) ? 0 : getAuthSessionValidity().hashCode()); return hashCode; } @Override public CreateUserPoolClientRequest clone() { return (CreateUserPoolClientRequest) super.clone(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy