React authentication wrapper for AWS Cognito User Pool
This library is helper to aws amplify (with Cognito user pool) authentication with react
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
import { ReactCognitoAuthProvider } from 'react-aws-cognito-auth';
Then impliment like this (for example)
<ReactCognitoAuthProvider>
<React.StrictMode>
<App />
</React.StrictMode>
</ReactCognitoAuthProvider>
import { ReactCognitoAuthConfig } from 'react-aws-cognito-auth';
And the configuration itself
ReactCognitoAuthConfig({
region: '###',
userPoolId: '###',
userPoolWebClientId: '###',
idleTime: 10000 // Optinal, time in milliseconds. default = 3600000 (1 hour)
});
Now you can call useAuth wherever you want to use.
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.
if (auth.isIdle()) {
// do somthing... like popup to reload page
}
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');