Amazon Cognito is a service that makes it easy to save user data, such as app preferences or game state, in the AWS Cloud without writing any backend code or managing any infrastructure. You can save data locally on users’ devices allowing your applications to work even when the devices are offline. You can also synchronize data across a user’s devices so that their app experience will be consistent regardless of the device they use. With Amazon Cognito, you can focus on creating great app experiences instead of having to worry about building and managing a backend solution to handle identity management, network state, storage, and sync.
Amazon Cognito allows you to store user data for your apps, such as user preferences and game state, in the Amazon Cognito sync store. You can then sync this data across a user’s devices to help make their experience consistent across their devices. Amazon Cognito can automatically send a push notification to a user’s devices when data in the sync store changes.
When you use Amazon Cognito with your app, you can read and write to a local data store. This means that your app can work in the same way regardless of whether the device is online or offline. You can choose when you sync your app’s data to the AWS Cloud and do this with a simple sync API call.
With Amazon Cognito, you can create unique end user identifiers for accessing AWS cloud services by using public login providers such as Amazon, Facebook, Google, and any OpenID Connect compatible provider, or by using your own user identity system. With these identifiers you can store app data in the Amazon Cognito sync store or access other AWS services like Amazon S3 or Amazon DynamoDB.
Users can start using your app as unauthenticated guests. Amazon Cognito allows you to securely store and sync data, such as application settings, to the cloud for these users even though they have not logged in. Amazon Cognito makes it easy for you to preserve their data if they later authenticate with one of the supported public login providers.
When you use Amazon Cognito, your app is provided with temporary, limited-privilege credentials that it can use to access AWS resources. This means your app can access the resources it needs and that you can follow security best practices by not hardcoding credentials in your app.