Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/smoke221/authentication-system


https://github.com/smoke221/authentication-system

Last synced: 12 days ago
JSON representation

Awesome Lists containing this project

README

        

# User Authentication and Authorization System

This project is a user authentication and authorization system built using Node.js, Express.js, MongoDB, and various authentication providers like GitHub and Google. It provides registration, login, and protected route functionality. Users can sign up, log in, and access protected routes by authenticating through different methods.

## Features

- User registration with password hashing
- User login with JWT-based authentication
- OAuth2-based authentication with GitHub and Google
- Protected routes to ensure authorized access
- Error and success message handling for user feedback
- Responsive and user-friendly front-end interface

## Technologies Used

- Node.js
- Express.js
- MongoDB
- bcrypt.js (for password hashing)
- jsonwebtoken (for JWT-based authentication)
- OAuth2 (GitHub and Google authentication)
- HTML, CSS (Front-end design)

## Setup and Usage

1. Clone the repository:

```bash
git clone https://github.com/Smoke221/Authentication-System.git
cd Authentication-System

2. Install dependencies:

```
npm install

3. Run the application:

```
npm run dev - uses nodemon.
npm run start - If you don't prefer nodemon.

## Contributing

Contributions are welcome! If you find any issues or want to add new features, feel free to submit a pull request.