Amazon Cognito is a managed identity service that makes it easy to add user sign-up, sign-in, and access control to your web and mobile applications. Amazon Cognito provides a plethora of features around user management and authentication.
The service can create and manage users, including their passwords, usernames, and email addresses. Amazon Cognito even supports federated authentication with social and enterprise identity providers, so users can log in using their existing corporate credentials. Finally, Amazon Cognito identities can be used in concert with other technologies like AWS IAM to control who has access to an application’s resources.
If a business is developing an application that needs to support a large quantity of users and be highly scalable and secure, Amazon Cognito makes the choice easy. Amazon Cognito is easy to use, as it is a managed service, meaning engineers don’t have to worry about setting up or managing the underlying infrastructure. The service is scalable and can scale to support hundreds of millions of users. Using industry-standard security measures, such as multi-factor authentication, to protect users’ information and data, Amazon Cognito is secure.
Amazon Cognito makes use of User Pools and Identity Pools. The former serve as user directories to manage sign-up and sign-in processes, while the latter provide temporary AWS credentials to access certain AWS services. Along with being easy to use, Amazon Cognito also easily integrates with other AWS services, such as AppSync. This integration for example helps in the development of data-driven applications with real-time and offline capabilities.
Finally, Amazon Cognito, like many other AWS services, operates on a pay-as-you-go pricing model. This means that you only pay for the number of monthly active users (MAUs), bottoming out at $0.0025 per user if you have greater than 10,000,000 users and topping out at $0.0055 if you have between 50,001-100,000 users. The first 50,000 users are free!