Skip to content
v2.274.0

UserPoolClientOptions Struct ​

Options to create a UserPoolClient.

Example ​

ts
const pool = new cognito.UserPool(this, 'Pool');
pool.addClient('app-client', {
  oAuth: {
    flows: {
      authorizationCodeGrant: true,
    },
    scopes: [ cognito.OAuthScope.OPENID ],
    callbackUrls: [ 'https://my-app-domain.com/welcome' ],
    logoutUrls: [ 'https://my-app-domain.com/signin' ],
  },
});

Properties ​

accessTokenValidityoptionalDurationaccess_token_validityoptionalDurationaccessTokenValidityoptionalDurationAccessTokenValidityoptionalDurationAccessTokenValidityoptionalDuration= Duration.minutes(60)#
Validity of the access token.

Values between 5 minutes and 1 day are valid. The duration cannot be longer than the refresh token validity.

analyticsoptionalAnalyticsConfigurationanalyticsoptionalAnalyticsConfigurationanalyticsoptionalAnalyticsConfigurationAnalyticsoptionalAnalyticsConfigurationAnalyticsoptionalAnalyticsConfiguration#
The analytics configuration for this client.

Default: no analytics configuration

authFlowsoptionalAuthFlowauth_flowsoptionalAuthFlowauthFlowsoptionalAuthFlowAuthFlowsoptionalAuthFlowAuthFlowsoptionalAuthFlow#
The set of OAuth authentication flows to enable on the client.

Default: If you don't specify a value, your user client supports ALLOW_REFRESH_TOKEN_AUTH, ALLOW_USER_SRP_AUTH, and ALLOW_CUSTOM_AUTH.

authSessionValidityoptionalDurationauth_session_validityoptionalDurationauthSessionValidityoptionalDurationAuthSessionValidityoptionalDurationAuthSessionValidityoptionalDuration= Duration.minutes(3)#
Cognito creates a session token for each API request in an authentication flow.

AuthSessionValidity is the duration, in minutes, of that session token. see defaults in AuthSessionValidity. Valid duration is from 3 to 15 minutes.

disableOAuthoptionalbooleandisable_o_authoptionalbooldisableOAuthoptionalBooleanDisableOAuthoptionalboolDisableOAuthoptional*bool= false#
Turns off all OAuth interactions for this client.
enablePropagateAdditionalUserContextDataoptionalbooleanenable_propagate_additional_user_context_dataoptionalboolenablePropagateAdditionalUserContextDataoptionalBooleanEnablePropagateAdditionalUserContextDataoptionalboolEnablePropagateAdditionalUserContextDataoptional*bool#
Enable the propagation of additional user context data.

Default: false for new user pool clients

You can only activate enablePropagateAdditionalUserContextData in an app client that has a client secret.

enableTokenRevocationoptionalbooleanenable_token_revocationoptionalboolenableTokenRevocationoptionalBooleanEnableTokenRevocationoptionalboolEnableTokenRevocationoptional*bool#
Enable token revocation for this client.

Default: true for new user pool clients

generateSecretoptionalbooleangenerate_secretoptionalboolgenerateSecretoptionalBooleanGenerateSecretoptionalboolGenerateSecretoptional*bool= false#
Whether to generate a client secret.
idTokenValidityoptionalDurationid_token_validityoptionalDurationidTokenValidityoptionalDurationIdTokenValidityoptionalDurationIdTokenValidityoptionalDuration= Duration.minutes(60)#
Validity of the ID token.

Values between 5 minutes and 1 day are valid. The duration cannot be longer than the refresh token validity.

oAuthoptionalOAuthSettingso_authoptionalOAuthSettingsoAuthoptionalOAuthSettingsOAuthoptionalOAuthSettingsOAuthoptionalOAuthSettings#
OAuth settings for this client to interact with the app.

Default: see defaults in OAuthSettings. meaningless if disableOAuth is set.

An error is thrown when this is specified and disableOAuth is set.

preventUserExistenceErrorsoptionalbooleanprevent_user_existence_errorsoptionalboolpreventUserExistenceErrorsoptionalBooleanPreventUserExistenceErrorsoptionalboolPreventUserExistenceErrorsoptional*bool= false#
Whether Cognito returns a UserNotFoundException exception when the user does not exist in the user pool (false), or whether it returns another type of error that doesn't reveal the user's absence.
readAttributesoptionalClientAttributesread_attributesoptionalClientAttributesreadAttributesoptionalClientAttributesReadAttributesoptionalClientAttributesReadAttributesoptionalClientAttributes#
The set of attributes this client will be able to read.

Default: all standard and custom attributes

refreshTokenRotationGracePeriodoptionalDurationrefresh_token_rotation_grace_periodoptionalDurationrefreshTokenRotationGracePeriodoptionalDurationRefreshTokenRotationGracePeriodoptionalDurationRefreshTokenRotationGracePeriodoptionalDuration#
Enables refresh token rotation when set.

Default: undefined (refresh token rotation is disabled)

Defines the grace period for the original refresh token (0-60 seconds).

refreshTokenValidityoptionalDurationrefresh_token_validityoptionalDurationrefreshTokenValidityoptionalDurationRefreshTokenValidityoptionalDurationRefreshTokenValidityoptionalDuration= Duration.days(30)#
Validity of the refresh token.

Values between 60 minutes and 10 years are valid.

supportedIdentityProvidersoptionalUserPoolClientIdentityProvider[]supported_identity_providersoptionaltyping.List[UserPoolClientIdentityProvider]supportedIdentityProvidersoptionalList<UserPoolClientIdentityProvider>SupportedIdentityProvidersoptionalUserPoolClientIdentityProvider[]SupportedIdentityProvidersoptional*[]UserPoolClientIdentityProvider#
The list of identity providers that users should be able to use to sign in using this client.

Default: supports all identity providers that are registered with the user pool. If the user pool and/or identity providers are imported, either specify this option explicitly or ensure that the identity providers are registered with the user pool using the UserPool.registerIdentityProvider() API.

userPoolClientNameoptionalstringuser_pool_client_nameoptionalstruserPoolClientNameoptionalStringUserPoolClientNameoptionalstringUserPoolClientNameoptional*string#
Name of the application client.

Default: cloudformation generated name

writeAttributesoptionalClientAttributeswrite_attributesoptionalClientAttributeswriteAttributesoptionalClientAttributesWriteAttributesoptionalClientAttributesWriteAttributesoptionalClientAttributes#
The set of attributes this client will be able to write.

Default: all standard and custom attributes