Amazon Cognito is an Amazon Web Services (AWS) product that controls user authentication and access for mobile applications on internet-connected devices. The service saves and synchronizes enduser data, which enables an application developer to focus on writing code instead of building and managing the back-end infrastructure. This can accelerate the mobile application development process.

Cognito is designed for a variety of application use cases. Cognito can be used for client-side authentication of mobile devices, client-side web applications (using JavaScript) and for server-side authentication (the application that is discussed in this article). The Cognito infrastructure can even provide web pages for the various authentication tasks.


Cognito can have one or more user pools. Each pool contains the login and user information for a group of users which will manage user signup, sign-in, password policies.

Unique identifiers are created for an end user; they are generated either from public identity providers, an OpenID Connect-compatible provider or on a custom user identity system. Unauthorized guests are supported and can be added to the system at a later date if the guest chooses to create a profile.

Amazon Cognito accepts Amazon, Facebook, Twitter, Digits and Google as public identity providers. An end user is authenticated from the identity provider, which then passes an OAuth or OpenID Connect token to Amazon Cognito.

How we can set up AWS Cognito to Authenticate The User?

  • Need to configure user pool as per client's requirement
  • There are several ways we can verify End User with the Username & Password
  • A user can simply create a new account and then verify the Email & Password based on the pre-defined attributes.
  • Once everything is up & running, the user will be able to access React, Front-End.
  • With Cognito, the overhead of writing code for authentication has become less and management of different groups of users has become simpler.

Add comment