https://github.com/raravi/login-server-express
An Express application for the Login Server
https://github.com/raravi/login-server-express
authentication-backend cors express express-rate-limit login nodejs nodemailer
Last synced: 4 months ago
JSON representation
An Express application for the Login Server
- Host: GitHub
- URL: https://github.com/raravi/login-server-express
- Owner: raravi
- License: mit
- Created: 2020-04-25T20:18:22.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-16T16:27:00.000Z (over 1 year ago)
- Last Synced: 2025-04-27T14:04:19.668Z (about 1 year ago)
- Topics: authentication-backend, cors, express, express-rate-limit, login, nodejs, nodemailer
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/login-server-express
- Size: 2.78 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# login-server-lambda
An Express application for the Login Server!
This module gives the Express backend server for the LOGIN functionality. It returns the express application which is set up with the following:
## API endpoints
1. `/login`: For login of users.
2. `/register`: To register new users.
3. `/validate`: To validate the email of new users.
4. `/forgotpassword`: To send a reset mail to the registered email address of the user.
5. `/resetpassword`: To handle reset password functionality.
## CORS
CORS is setup with:
* **Access-Control-Allow-Origin**: Allows `http://localhost:3000` & `process.env.APP_CLIENTURL`.
* **Access-Control-Allow-Methods**: `GET` / `POST` are allowed.
* **Access-Control-Allow-Credentials**: set to `TRUE` (needed for sending `AUTHORIZATION` header).
## Rate Limiter
Rate Limiting of each IP to 100 requests per 15 minutes.
## MongoDB Connection
Connect to MongoDB using Mongoose by specifying the Database in `process.env.APP_DB`.
## Reset Password Mail
The Reset Password API endpoint will send out a mail if the details provided are correct. It uses `process.env.APP_EMAIL`, `process.env.APP_PASSWORD`, `process.env.APP_RESETEMAIL` & `process.env.APP_RESETLINK`.
## User's Email Validation Mail
The Register API endpoint will send out a validation mail if the details provided are correct. It uses `process.env.APP_EMAIL`, `process.env.APP_PASSWORD`, `process.env.APP_RESETEMAIL` & `process.env.APP_VALIDATELINK`.
## Environment Variables expected by the module
These variables should be stored in Environment Variables, and will be accessible to the module in the form `process.env.APP_DB`. Node.js platform will do this by default.
* **APP_DB**: The MongoDB URI used to connect to the DB.
* **APP_SECRETORKEY**: A Secret key for generating random strings to be used as JWTs (JSON Web Tokens).
* **APP_EMAIL**: Email from which you want to send mail.
* **APP_PASSWORD**: Password for the above APP_EMAIL.
* **APP_RESETEMAIL**: The Email that is displayed in the 'From' field in the mail sent.
* **APP_RESETLINK**: Link to reset password. For e.g., https://www.myapp.com/reset-password
* **APP_VALIDATELINK**: Link to validate email for a new user. For e.g., https://www.myapp.com/validate-email
* **APP_CLIENTURL**: The URL of your Client application which will connect to this server. For e.g., https://www.myapp.com
## Usage
For a demo, check out the [repo](https://github.com/raravi/notes-server-lambda) of my Notes App!
[](https://ko-fi.com/Y8Y21VCIL)