constructor()

in source/5-unicornPics/backend/lib/common/auth.ts [9:45]


  constructor(scope: cdk.Construct, id: string) {
    super(scope, id);

    //preSignUp lambda to be added to Cognito User Pool to avoid email sending to virtual users
    const preSignUp = new lambda.NodejsFunction(this, 'preSignUp');

    // create Cognito user pool
    this.userPool = new cognito.UserPool(this, "activatePool", {
      userPoolName: "activate-userpool",
      selfSignUpEnabled: true,
      userVerification: {
        emailSubject: "Verify your email for our Activate app!",
        emailBody:
          "Hello {username}, Thanks for signing up to our Activate app! Your verification code is {####}",
        emailStyle: cognito.VerificationEmailStyle.CODE,
        smsMessage:
          "Hello {username}, Thanks for signing up to our Activate app! Your verification code is {####}",
      },
      signInAliases: {
        username: true,
        email: true,
      },
      lambdaTriggers: {
        preSignUp: preSignUp,
      }
    });

    this.userPoolClient = this.userPool.addClient('activate-app-client', {
      authFlows: {
        adminUserPassword: true,
        userSrp: true,
      }
    });

    new cdk.CfnOutput(this, "UserPoolId", { value: this.userPool.userPoolId, exportName: "UserPoolId" });
    new cdk.CfnOutput(this, "UserPoolClientId", { value: this.userPoolClient.userPoolClientId, exportName: "UserPoolClientId" });
  }