1.1.5 • Published 6 months ago

@sswahn/login v1.1.5

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

Login · License npm version

A versatile authentication library designed to streamline the user authentication processes for React applications. This library provides components for user registration, login, password reset, and more.

Features

  • Seamless user registration with robust validation.
  • User login with optional "Remember Me" functionality.
  • Forgot password functionality with email confirmation.
  • Password reset using confirmation code.
  • Error and Success message alerts

Installation

Using npm.

npm install @sswahn/login

Usage

Import the components.

import {
  Register,
  Login,
  ForgotPassword,
  ConfirmForgotPassword
} from '@sswahn/login'

Register

Creates a user registration form.

<Register
  className="custom-register"
  onSubmit={handleOnSubmit}
/>

Login

Creates a user login form, with links to registration, and forgot password forms.

<Login
  className="custom-login"
  onSubmit={handleOnSubmit}
  forgotPassword={handleOpenForgotPassword}
  registerUser={handleOpenRegistration}
/>

Forgot Password

Forgot password form, for requesting a password reset.

<ForgotPassword
  className="custom-forgot-password"
  onSubmit={handleOnSubmit}
/>

Confirm Forgot Password

Confirm forgot password form. Using a confirmation code users can reset their passwords.

<ConfirmForgotPassword
  className="custom-confirm-forgot-password"
  onSubmit={handleOnSubmit}
/>

Documentation

onSubmit Callback Hook

  • Each component (Register, Login, ForgotPassword, ConfirmForgotPassword) accepts an onSubmit prop, which should be a asynchronous callback function.
  • This function is triggered when the user submits the form, and it receives the form data as an argument.
  • You can customize this function to handle the form submission, such as making API calls, additional validation, redirects, etc.
  • onSubmit must be an async function and, when necessary, return one of the following objects:
{ message: 'Your success message.' }
// or
{ error: 'Your error message.' }

Styling Overrides with className

You can customize the appearance of each component by providing a className prop. This allows you to apply your own styles to the component. For example:

const CustomRegister = () => {
  return <Register className="custom-register" onSubmit={handleRegister} />
}

In the above example, the "custom-register" class will be applied to the Register component, allowing you to override default styles.

Additional Callbacks in Login

  • forgotPassword: Callback triggered when the user clicks the "Forgot password?" button. Use this to handle opening the forgot password form.

  • registerUser: Callback triggered when the user clicks the "Create an account" button. Use this to handle opening the registration form.

Peer Dependencies

Login requires React as a peer dependency. You should have React installed in your project with a version compatible with this library.

Credits

This library uses Font Awesome Icons.

Related

  • @sswahn/cognito: Cognito is a robust AWS Cognito login system for Node.js.
  • @sswahn/session: Session provides a simple and efficient way to manage user sessions using AWS Cognito for authentication.
  • @sswahn/authorizer: An AWS Cognito authorizer for APIGateway that uses HTTP Cookies.

License

Login is MIT Licensed

1.1.5

6 months ago

1.1.4

6 months ago

1.1.3

6 months ago

1.1.2

6 months ago

1.1.1

6 months ago

1.1.0

6 months ago

1.0.2

6 months ago

1.0.1

6 months ago

1.0.0

6 months ago

1.0.0-beta.3

6 months ago

1.0.0-beta.2

6 months ago

1.0.0-beta.1

6 months ago

1.0.0-beta.0

6 months ago