@aws-amplify/cli-internal
Version:
Amplify CLI
95 lines • 4.11 kB
TypeScript
import ts from 'typescript';
import { GroupType, IdentityProviderType, UserPoolClientType, UserPoolType } from '@aws-sdk/client-cognito-identity-provider';
import { IdentityPool } from '@aws-sdk/client-cognito-identity';
import { GetUserPoolMfaConfigResponse } from '@aws-sdk/client-cognito-identity-provider';
export interface AuthTrigger {
readonly event: AuthTriggerEvent;
readonly resourceName: string;
}
export type Scope = 'phone' | 'email' | 'openid' | 'profile' | 'aws.cognito.signin.user.admin';
export type AuthTriggerEvent = 'createAuthChallenge' | 'customMessage' | 'defineAuthChallenge' | 'postAuthentication' | 'postConfirmation' | 'preAuthentication' | 'preSignUp' | 'preTokenGeneration' | 'userMigration' | 'verifyAuthChallengeResponse';
export interface AuthPermissions {
readonly manageUsers?: boolean;
readonly manageGroups?: boolean;
readonly manageGroupMembership?: boolean;
readonly manageUserDevices?: boolean;
readonly managePasswordRecovery?: boolean;
readonly addUserToGroup?: boolean;
readonly createUser?: boolean;
readonly deleteUser?: boolean;
readonly deleteUserAttributes?: boolean;
readonly disableUser?: boolean;
readonly enableUser?: boolean;
readonly forgetDevice?: boolean;
readonly getDevice?: boolean;
readonly getUser?: boolean;
readonly listUsers?: boolean;
readonly listDevices?: boolean;
readonly listGroupsForUser?: boolean;
readonly listUsersInGroup?: boolean;
readonly listGroups?: boolean;
readonly createGroup?: boolean;
readonly deleteGroup?: boolean;
readonly getGroup?: boolean;
readonly updateGroup?: boolean;
readonly removeUserFromGroup?: boolean;
readonly resetUserPassword?: boolean;
readonly setUserMfaPreference?: boolean;
readonly setUserPassword?: boolean;
readonly setUserSettings?: boolean;
readonly updateDeviceStatus?: boolean;
readonly updateUserAttributes?: boolean;
}
export interface FunctionAccess {
readonly resourceName: string;
readonly permissions: AuthPermissions;
}
export interface AuthRenderOptions {
readonly userPool: UserPoolType;
readonly webClient: UserPoolClientType;
readonly nativeClient: UserPoolClientType;
readonly identityPool?: IdentityPool;
readonly identityProviders?: readonly IdentityProviderType[];
readonly identityGroups?: readonly GroupType[];
readonly triggers?: readonly AuthTrigger[];
readonly mfaConfig?: GetUserPoolMfaConfigResponse;
readonly access?: readonly FunctionAccess[];
}
export declare class AuthRenderer {
render(options: AuthRenderOptions): ts.NodeArray<ts.Node>;
private renderBackendTypeImport;
private renderCdkImports;
private renderApplyEscapeHatches;
private renderPostRefactor;
private renderStandardAuth;
private static deriveLoginFlags;
private static deriveExternalProviders;
private static deriveMfaConfig;
private static deriveStandardUserAttributes;
private static deriveCustomUserAttributes;
private static deriveGroups;
private static deriveUserPoolOverrides;
private static deriveProviderSpecificScopes;
private static filterAttributeMapping;
private addLambdaTriggers;
private addMfaConfig;
private addFunctionAccess;
private createLogInWithPropertyAssignment;
private createEmailDefinitionObject;
private createExternalProvidersExpression;
private createUserAttributeAssignments;
private static createAttributeDefinition;
private static createProviderConfig;
private static createProviderPropertyAssignment;
private static createOidcSamlPropertyAssignments;
private buildEscapeHatchStatements;
private buildDomainOverrideStatements;
private buildAdditionalImports;
private buildUserPoolOverrideStatements;
private buildNativeUserPoolClientStatements;
private static hasIdentityProviders;
private buildCognitoProvidersPushStatements;
private static buildClientAttributesExpression;
private buildProviderSetupStatements;
}
//# sourceMappingURL=auth.renderer.d.ts.map