A proof of concept exploring AWS Cognito and its User Pool, Resource Federation, and Signed URL functionality.
The demo application was generated using Serverless principals, utilising low cost, performant and scalable systems within the AWS portfolio.
-
User are greeted with an unauthenticated "welcome" page.
-
Upon registering or logging in via AWS Cognito users are taken to the application view.
-
Any previous data associated to the user is obtained from AWS DynamoDB through federated access (This prevents unauthenticated users from interfacing with the database endpoint).
-
Any private assets associated with the current view are obtained via AWS S3 through signed URL access. (This white lists private buckets assets to authenticated users).
-
Changes made to the users settings are persisted in AWS DynamoDB for returning visits.
-
If a user closes the application without logging out their authenticated state will be remembered on the subsequent visit.
-
If a user explicitly logs out of the application they will be prompted to reauthenticate at the "welcome" page upon nest visit.
-
Clone this repository
git clone https://github.com/devonChurch/apple-turnover.git
-
Install project dependancies
npm install
- Build and deploy a production version of the application to your repositories AWS S3
npm run deploy
MIT