In this module you'll create an Amazon Cognito user pool to manage your users' accounts. You'll deploy pages that enable customers to register as a new user, verify their email address, and sign into the site.

When users visit your website they will first register a new user account. For the purposes of this workshop we'll only require them to provide an email address and password to register. However, you can configure Amazon Cognito to require additional attributes in your own applications.
After users submit their registration, Amazon Cognito will send a confirmation email with a verification code to the address they provided. To confirm their account, users will return to your site and enter their email address and the verification code they received. You can also confirm user accounts using the Amazon Cognito console if want to use fake email addresses for testing.
After users have a confirmed account (either using the email verification process or a manual confirmation through the console), they will be able to sign in. When users sign in, they enter their username (or email) and password. A JavaScript function then communicates with Amazon Cognito, authenticates using the Secure Remote Password protocol (SRP), and receives back a set of JSON Web Tokens (JWT). The JWTs contain claims about the identity of the user and will be used in the next module to authenticate against the RESTful API you build with Amazon API Gateway.
Time to Complete Module: 30 Minutes
Services used: Amazon Cognito
CloudFormation Template: If you want to skip ahead to the next module, you can launch one of these AWS CloudFormation templates in the same region that you used in Module 1.
Region | CloudFormation Template |
---|---|
US East (N. Virginia) | Launch stack > |
US East (Ohio) | Launch stack > |
US West (Oregon) | Launch stack > |
EU (Frankfurt) | Launch stack > |
EU (Ireland) | Launch stack > |
EU (London) | Launch stack > |
Asia Pacific (Tokyo) | Launch stack > |
Asia Pacific (Seoul) | Launch stack > |
Asia Pacific (Sydney) | Launch stack > |
Asia Pacific (Mumbai) | Launch stack > |

CloudFormation Launch Instructions
Choose the Launch Stack link above for the region of your choice.
Choose Next on the Select Template page.
Provide the name of your website bucket from module 1 for the Website Bucket Name (e.g.
wildrydes-yourname
) and choose Next.Note: You must specify the same bucket name you used in the previous module. If you provide a bucket name that does not exist or that you do not have write access to, the CloudFormation stack will fail during creation.
On the Options page, leave all the defaults and choose Next.
On the Review page, check the box to acknowledge that CloudFormation will create IAM resources and choose Create.
This template uses custom resources to create an Amazon Cognito user pool and client as well as generate a configuration file with the details needed to connect to this user pool and upload it to your website bucket. The template will create a role that provides access for creating these resources and uploading the config file to your bucket.
Wait for the
wildrydes-webapp-2
stack to reach a status ofCREATE_COMPLETE
.Follow the steps outlined in Step 4. Test Your Implementation, to confirm you are ready to move on to the next module.
Follow the step-by-step instructions below to create user pools. Click on each step number to expand the section.