Модуль аутентификации, для nodejs-проекта на pgsql.
npm install auth_pgusers должна иметь поля:
users_passwords должна иметь поля
email.
sh
$ npm install mysql
`
$3
`js
const auth = require('auth_pg');
`
$3
Функция принимает 4 параметра:
* имя бд
* адрес
* пароль
* имя пользователя
`js
/**
* Конфигурация для коннекта к бд
*/
auth.setConfig('dbName', 'host', 'password', 'userName');
`
$3
Функция принимает на вход с сервера request, response и salt (соль для шифрования).
Выставляет аутентификационную куку с именем 'auth'.
Вернет 'true' если аутентификация прошла успешно. В противном случае возвращает ошибку.
`js
/**
* Принимаем данные на логин и пренаправляем в модуль.
* Здесь 'authtest' - соль для шифрования
*/
.post('/login', function(req, res) {
auth.login(req, res, 'authtest');
});
`
$3
Эта функция просто удаляет куку с именем 'auth'.
`js
/**
* Удаляем аутентификационную куку.
*/
router
.post('/logout', function(req, res) {
auth.logout(req, res);
});
`
$3
Миддл проверки пользователя на наличие аутентификационной куки.
Следующая функция выполнится только если аутентификация прошла успешно.
`js
/**
* Миддл для проверки аутентифицированности пользователя.
* Функция за 'auth.need' пройдет только если пользователь аутентифицирован.
*/
router
.post('/isauth', auth.need, function(req, res) {
console.log('Some your function');
});
`
$3
Функция для регистрации пользователя. Принимает на вход reques, respone и salt (соль для шифрования).
Вернет 'true' если регистрация прошла успешно. Иначе вернет ошибку.
`js
/*
*Функция регистрации пользователя. Здесь 'authtest' это соль.
*/
router
.post('/register', function(req, res) {
auth.register(req, res, 'authtest');
});
``