UNPKG

aws-cdk-lib

Version:

Version 2 of the AWS Cloud Development Kit library

188 lines (187 loc) 6.78 kB
import { IUserPool } from '../user-pool'; /** * An attribute available from a third party identity provider. */ export declare class ProviderAttribute { /** The email attribute provided by Apple */ static readonly APPLE_EMAIL: ProviderAttribute; /** The email verified attribute provided by Apple */ static readonly APPLE_EMAIL_VERIFIED: ProviderAttribute; /** The name attribute provided by Apple */ static readonly APPLE_NAME: ProviderAttribute; /** The first name attribute provided by Apple */ static readonly APPLE_FIRST_NAME: ProviderAttribute; /** The last name attribute provided by Apple */ static readonly APPLE_LAST_NAME: ProviderAttribute; /** The user id attribute provided by Amazon */ static readonly AMAZON_USER_ID: ProviderAttribute; /** The email attribute provided by Amazon */ static readonly AMAZON_EMAIL: ProviderAttribute; /** The name attribute provided by Amazon */ static readonly AMAZON_NAME: ProviderAttribute; /** The postal code attribute provided by Amazon */ static readonly AMAZON_POSTAL_CODE: ProviderAttribute; /** The user id attribute provided by Facebook */ static readonly FACEBOOK_ID: ProviderAttribute; /** The birthday attribute provided by Facebook */ static readonly FACEBOOK_BIRTHDAY: ProviderAttribute; /** The email attribute provided by Facebook */ static readonly FACEBOOK_EMAIL: ProviderAttribute; /** The name attribute provided by Facebook */ static readonly FACEBOOK_NAME: ProviderAttribute; /** The first name attribute provided by Facebook */ static readonly FACEBOOK_FIRST_NAME: ProviderAttribute; /** The last name attribute provided by Facebook */ static readonly FACEBOOK_LAST_NAME: ProviderAttribute; /** The middle name attribute provided by Facebook */ static readonly FACEBOOK_MIDDLE_NAME: ProviderAttribute; /** The gender attribute provided by Facebook */ static readonly FACEBOOK_GENDER: ProviderAttribute; /** The locale attribute provided by Facebook */ static readonly FACEBOOK_LOCALE: ProviderAttribute; /** The name attribute provided by Google */ static readonly GOOGLE_NAMES: ProviderAttribute; /** The gender attribute provided by Google */ static readonly GOOGLE_GENDER: ProviderAttribute; /** The birthday attribute provided by Google */ static readonly GOOGLE_BIRTHDAYS: ProviderAttribute; /** The phone number attribute provided by Google */ static readonly GOOGLE_PHONE_NUMBERS: ProviderAttribute; /** The email attribute provided by Google */ static readonly GOOGLE_EMAIL: ProviderAttribute; /** The email verified attribute provided by Google */ static readonly GOOGLE_EMAIL_VERIFIED: ProviderAttribute; /** The name attribute provided by Google */ static readonly GOOGLE_NAME: ProviderAttribute; /** The picture attribute provided by Google */ static readonly GOOGLE_PICTURE: ProviderAttribute; /** The given name attribute provided by Google */ static readonly GOOGLE_GIVEN_NAME: ProviderAttribute; /** The family name attribute provided by Google */ static readonly GOOGLE_FAMILY_NAME: ProviderAttribute; /** * Use this to specify an attribute from the identity provider that is not pre-defined in the CDK. * @param attributeName the attribute value string as recognized by the provider */ static other(attributeName: string): ProviderAttribute; /** The attribute value string as recognized by the provider. */ readonly attributeName: string; private constructor(); } /** * The mapping of user pool attributes to the attributes provided by the identity providers. */ export interface AttributeMapping { /** * The user's postal address is a required attribute. * @default - not mapped */ readonly address?: ProviderAttribute; /** * The user's birthday. * @default - not mapped */ readonly birthdate?: ProviderAttribute; /** * The user's e-mail address. * @default - not mapped */ readonly email?: ProviderAttribute; /** * The user's e-mail address is verification. * @default - not mapped */ readonly emailVerified?: ProviderAttribute; /** * The surname or last name of user. * @default - not mapped */ readonly familyName?: ProviderAttribute; /** * The user's gender. * @default - not mapped */ readonly gender?: ProviderAttribute; /** * The user's first name or give name. * @default - not mapped */ readonly givenName?: ProviderAttribute; /** * The user's locale. * @default - not mapped */ readonly locale?: ProviderAttribute; /** * The user's middle name. * @default - not mapped */ readonly middleName?: ProviderAttribute; /** * The user's full name in displayable form. * @default - not mapped */ readonly fullname?: ProviderAttribute; /** * The user's nickname or casual name. * @default - not mapped */ readonly nickname?: ProviderAttribute; /** * The user's telephone number. * @default - not mapped */ readonly phoneNumber?: ProviderAttribute; /** * The URL to the user's profile picture. * @default - not mapped */ readonly profilePicture?: ProviderAttribute; /** * The user's preferred username. * @default - not mapped */ readonly preferredUsername?: ProviderAttribute; /** * The URL to the user's profile page. * @default - not mapped */ readonly profilePage?: ProviderAttribute; /** * The user's time zone. * @default - not mapped */ readonly timezone?: ProviderAttribute; /** * Time, the user's information was last updated. * @default - not mapped */ readonly lastUpdateTime?: ProviderAttribute; /** * The URL to the user's web page or blog. * @default - not mapped */ readonly website?: ProviderAttribute; /** * Specify custom attribute mapping here and mapping for any standard attributes not supported yet. * @default - no custom attribute mapping */ readonly custom?: { [key: string]: ProviderAttribute; }; } /** * Properties to create a new instance of UserPoolIdentityProvider * */ export interface UserPoolIdentityProviderProps { /** * The user pool to which this construct provides identities. */ readonly userPool: IUserPool; /** * Mapping attributes from the identity provider to standard and custom attributes of the user pool. * @default - no attribute mapping */ readonly attributeMapping?: AttributeMapping; }