项目作者: dbroadhurst

项目描述 :
AWS Cognito React boilerplate / reference implementation
高级语言: TypeScript
项目地址: git://github.com/dbroadhurst/aws-cognito-react.git
创建时间: 2017-08-21T15:30:22Z
项目社区:https://github.com/dbroadhurst/aws-cognito-react

开源协议:MIT License

下载


aws-cognito-react - v2

signin

If you are looking for v1 version it can be found on the legacy branch. With the release of v2, v1 is no longer supported

Reference implementation / boilerplate for AWS Cognito user management

Demo

aws-cognito-react-demo

v2 Changes

  • Switched to Typescript
  • Replaced redux and saga’s with react context
  • Upgraded all libraries to latest major versions
  • No security scan issues
  • Hooks used to manage states
  • Updated to Material UI 4x
  • Added AWS CDK to manage infrastructure
  • Cleaner and simpler Architecture
  • Responsive design

AWS Cognito Infrastructure setup

To help deploy the AWS Cognito infrastructure I’ve create an Amazon Cloud Development (CDK) script

CDK set up instructions can be found here

CDK deploy instructions

  1. cd cdk
  2. npm run cdk bootstrap # only needed first time
  3. npm run cdk deploy

After deployment copy the userPoolId and userPoolClientId values from the command line window; you will need these values in the app config step

App Configuration

Setup the Cognito environment values buy creating app/.env.local file and adding the following

  1. REACT_APP_USERPOOL_ID=YOUR_USER_POOL_ID
  2. REACT_APP_CLIENT_ID=YOUR_CLIENT_ID

Create React App has been used to setup the development process so the next steps should be familiar

  1. cd app
  2. npm install
  3. npm start

Other Solutions

Firebase Auth - Great for mobile and web. Fairly limited but easy to use. Integrates really nicely with other Firebase services

Auth0 - Comes with comprehensive and feature rich frontend. Seems to quicky get expensive but a very safe option

Keycloak - Excellent feature rich Enterprise service that offers fully themable frontend. No Cloud solution but easy to deploy to AWS using this CDK script

Useful References

https://www.npmjs.com/package/amazon-cognito-identity-js

https://docs.aws.amazon.com/cdk/api/latest/docs/aws-cognito-readme.html

https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-social-idp.html

https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html