Handling authentication and authorization
In this section, we are going to use Amazon Cognito to create the users for our application and to be able to handle their login. After authenticating the user, we will be able to give proper authorization for the tasks that they are allowed to execute.
Amazon Cognito
Cognito provides two services such as User Pools and Identity Pools. The first is where you create and store user credentials, the latter is where you set the permissions for the user to access AWS resources.
We will start by creating a user pool, so we can add signup and signin features to our website, along with account recovery. We will add the user pool ID to our frontend code and requests will be done directly to the User Pool service, without needing to be executed from a Lambda function.
Later, we will configure an identity pool, which will be needed to give to the users temporary access to AWS resources. In our example, the user will be able to subscribe to IoT notifications directly...