AWS Cognito React Authentication
npm install react-aws-cognito-authReact authentication wrapper for AWS Cognito User Pool



---
first of all you need to create user pool on aws cognito
https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pool-as-user-directory.html
---
On top of your app need to add react-aws-cognito-auth Provider as describe below
First of all you need to import provider
``javascript`
import { ReactCognitoAuthProvider } from 'react-aws-cognito-auth';
Then impliment like this (for example)
`javascript`
---
`javascript`
import { ReactCognitoAuthConfig } from 'react-aws-cognito-auth';
And the configuration itself
`javascript`
ReactCognitoAuthConfig({
region: '###',
userPoolId: '###',
userPoolWebClientId: '###',
idleTime: 10000 // Optinal, time in milliseconds. default = 3600000 (1 hour)
});
---
Now you can call useAuth wherever you want to use.
`javascript`
import { useAuth } from 'react-aws-cognito-auth';
now you can get idle time out.
by default JWT token of cognito user is 1 hour.
if the user is idle for 1 hour so auth.idle will be true
you can check if idle and the token is out of date.
`javascript`
if (auth.isIdle()) {
// do somthing... like popup to reload page
}
`javascript
const auth = useAuth();
auth.isLoading();
auth.isIdle();
auth.getCurrentUser();
auth.login('username', 'password');
auth.signup('email', 'username', 'password');
auth.confirmSignup('username', 'code');
auth.logout();
auth.resetPassword('username', 'password', 'resetCode');
``