When you start developing applications, one of the most critical aspects of your development is user management. You need a secure and effective user management, authentication, and authorization mechanism. To address this requirement for an application developer, Amazon has created a service called Amazon Cognito.
Amazon Cognito is a cloud-based, secure, and highly scalable authentication, authorization, and user management service for web and mobile apps. Cognito not only can authenticate and authorize users, it can also save user data such as user preferences, sign-in, session state, and so on. It can also synchronize the user data across a user's multiple devices to provide a consistent user experience.
Cognito primarily has two components:
- User pool
- Identity pool
Let's understand these components in subsequent points.