UNPKG

@orcden/od-authentication

Version:

OrcDen Authentication Library

87 lines (73 loc) 4.54 kB
# OD-Authentication > Authentication Library `ODCognitoAuth` is a simple library that will manage your connection to AWS Cognito Servers ## Installation - Install with [npm](https://www.npmjs.com/) ``` npm i @orcden/od-authentication ``` ## Usage - ODCognitoAuth ``` import '@orcden/od-authentication'; ``` ``` let auth = new ODCognitoAuth( this._getCognitoConfigs() ); _getCognitoConfigs() { return { // REQUIRED - Amazon Cognito Region region: process.env.APP_COGNITO_REGION, // OPTIONAL - Amazon Cognito Federated Identity Pool Region // Required only if it's different from Amazon Cognito Region identityPoolRegion: process.env.APP_COGNITO_REGION, // OPTIONAL - Amazon Cognito User Pool ID userPoolId: process.env.APP_COGNITO_USER_POOL_ID , // OPTIONAL - Amazon Cognito Web Client ID (26-char alphanumeric string) userPoolWebClientId: process.env.APP_COGNITO_USER_POOL_WEB_CLIENT_ID, // OPTIONAL - Manually set the authentication flow type. Default is 'USER_SRP_AUTH' authenticationFlowType: process.env.APP_COGNITO_AUTHENTICATION_FLOW_TYPE, // OPTIONAL - Hosted UI configuration oauth: { domain: null, scope: [], redirectSignIn: null, redirectSignOut: null, responseType: 'code' // or 'token', note that REFRESH token will only be generated when the responseType is code }, // REQUIRED only for Federated Authentication - Amazon Cognito Identity Pool ID identityPoolId: process.env.APP_COGNITO_IDENTITY_POOL_ID } } ``` ## Functions | Name | Parameters | Description | |-----------|------|-----------------------------------------------| | `tryGetCurrentAuthenticatedUser` | callback | Trys to authenticates a user from session data and performs a callback with the info. Callback parameters: loggedIn, userDetails, error | | `trySignIn` | username, password, callback | Trys to manually authenticate with the given parameters and performs a callback with the info. Callback parameters: userDetails, challenge, error | | `tryGetCurrenSessionData` | callback | Gets a user from session data and performs a callback with the info. Needs to be authenticated first. Callback parameters: userDetails, error | | `trySignUp` | username, email, password, callback | Trys to sign a user up with the given parameters and performs a callback with the info. Callback parameters: userDetails, error | | `tryCompleteNewPassword` | newPassword, callback | Trys to complete a new password challenge with the given parameters and performs a callback with the info. Callback parameters: userDetails, error | | `tryResendConfirmationCode` | username, callback | Trys to resend a confirmation code to a specific user and performs a callback with the info. Callback parameters: error | | `trySignOut` | callback | Trys to sign out the current authenticated user and performs a callback with the info. Callback parameters: error | | `tryChangePassword` | oldPassword, newPassword, callback | Trys to change the password of the current authernticated user and performs a callback with the info. Callback parameters: passwordChangeData, error | | `tryVerifyEmailSendCode` | callback | Trys to send a code to the current authernticated user and performs a callback with the info. Callback parameters: error | | `tryUpdateEmailSendCode` | email, callback | Trys to update the email of and send a code to the current authernticated user and performs a callback with the info. Callback parameters: error | | `tryVerifyEmailSubmit` | code, callback | Trys to verify the email update code of current authernticated user and performs a callback with the info. Callback parameters: error | | `tryforgotPasswordSendCode` | username, callback | Trys to reset the password of and send a code to a specific user and performs a callback with the info. Callback parameters: error | | `tryforgotPasswordSubmit` | username, code, newPassword, callback | Trys to verify the email update code of a specific user to update their password and performs a callback with the info. Callback parameters: passwordChangeData, error | ## Development ### Run linter ``` npm run lint ``` ### Fix linter errors ``` npm run fix ``` ### Run tests ``` npm run test ``` ### Build for production ``` npm run build ```