Skip to content
v2.275.0

UserPoolClientProps Struct ​

Properties for the UserPoolClient construct.

Example ​

ts
import * as pinpoint from 'aws-cdk-lib/aws-pinpoint';

declare const userPool: cognito.UserPool;
declare const pinpointApp: pinpoint.CfnApp;
declare const pinpointRole: iam.Role;

new cognito.UserPoolClient(this, 'Client', {
  userPool,
  analytics: {
    // Your Pinpoint project ID
    applicationId: pinpointApp.ref,

    // External ID for the IAM role
    externalId: "sample-external-id",

    // IAM role that Cognito can assume to publish to Pinpoint
    role: pinpointRole,

    // Whether to include user data in analytics events
    shareUserData: true,
  },
});

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.

userPoolIUserPoolRefuser_poolIUserPoolRefuserPoolIUserPoolRefUserPoolIUserPoolRefUserPoolIUserPoolRefrequired#
The UserPool resource this client will have access to.
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