Authenticate your users through Cognito, Lambda, API Gateway and DynamoDB. The build.sh script will set a local cookie in the browser and prompt for reauthentication by the user if needed. A simple web UI is provided which allows users to register, login, logout, see their profile and see all users.
The cookies are stored in a DynamoDB table that is part of the deployment. All user accounts are safely stored using a Cognito user pool. The Lambda function handles authentication, authorization and renders the HTML output. A second DynamoDB table is used to store the weblogs from user visits.
You can easily deploy the solution using the Serverless Application Repository.
There are two ways to install;
-
You can use the Serverless Application Repository to easily deploy the application in less than 2 minutes. Check the 'resources' tab under CloudFormation to find the login URL of your application.
-
Run 'build.sh' in the local directory to start a deploy using the SAM CLI.
Once you want to remove the service, simply delete the CloudFormation stack in your AWS account.
- Add change password functionality for users.
- Add email or SMS validation for new accounts.
- Handle authentication using a custom authorizer in API Gateway.
- Add diagnostic pages (amount of users, last logins, etc.)
- Add a fully functional profile with some user data.
- Increase cookie security (better random generation and secure storage in browser).
- Set TTL of 3 days for cookies set in browser.
- Add fully functional login/logout.
In case of questions or bugs, please raise an issue or reach out to @marekq!