https://github.com/portrunban/node-authentication-panel
https://github.com/portrunban/node-authentication-panel
authentication node node-js webpanel
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/portrunban/node-authentication-panel
- Owner: portrunban
- Created: 2020-09-24T11:15:00.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2020-09-24T11:16:38.000Z (over 4 years ago)
- Last Synced: 2025-01-02T16:56:17.306Z (5 months ago)
- Topics: authentication, node, node-js, webpanel
- Language: JavaScript
- Homepage:
- Size: 410 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
# RU
Репозиторий представляет собой backend и frontend функционал авторизации администратора-пользователя на Node JS.
### Панель аутентификации
При аутентификации пользователю выдаётся **JWT** токен и в дальнейшем при каждом заходе на страницу он проверяется на валидность. Токен несёт в себе payload ID пользователя MongoDB.
Данные пользователя хранятся в **MongoDB**, пароль хранится в виде хэша **bcryptjs** с **Salt Length 12**
Т.к. я использую эту панель только для администратора, то все значения заносятся в БД руками
### Серверная часть
По архитектуре разведены: маршрутизация, представления, контроллеры и модели.
Подключены NPM.- Morgan - _логирование при development запуске_
- express-rate-limit - _ограничение на количество запросов к серверу в час_
- helmet - _защита заголовков_
- express-mongo-sanitaze - _санитайзер объектов для замены спец символов_
- xss-clean - санитайзер XSSИ другие стандартные модули для поддержки работы сервера.
### ENV
В конфиг включены следующие переменные.
```sh
MONGO=mongodb+srv://example
PORT=5000
NODE_ENV=development
JWT_SECRET=testsecretkey
JWT_EXPIRES_IN=70d
JWT_COOKIE_EXPIRES_IN=90
```# EN
The repository is a backend and frontend functionality for administrator-user authorization on Node JS.
### Authentication panel
After authentication, the user receives the **JWT** token and then it is checked for validity every time the page is requested again. The token contains the MongoDB user's payload ID.
The user data is stored in **MongoDB**, the password is stored as a hash **bcryptjs** with **Salt Length 12**
I use this panel only for the administrator, all values are entered in the database independently
### Server part
Server architecture contains routing, views, controllers, and models.
Dependens NPM.
- Morgan - _logging. Only development_
- express-rate-limit - _rate limit per hour_
- helmet - _security HTTP header_
- express-mongo-sanitaze - _sanitaze reserv key of MongoDB _
- xss-clean - sanitaze XSSAnd other standard modules to support the work of the server.
### ENV
config.env contains this variable.
```sh
MONGO=mongodb+srv://example
PORT=5000
NODE_ENV=development
JWT_SECRET=testsecretkey
JWT_EXPIRES_IN=70d
JWT_COOKIE_EXPIRES_IN=90
```