Личный кабинет с готовым модулями для встраивания и демонстрации:
- Подключения к аккаунту второго фактора – аппаратного аутентификатора Рутокен U2F или OTP;
- Входа в учетную запись с подтверждением вторым фактором.
Учетные записи в демонстрационном личном кабинете могут быть защищены двумя моделями аутентификаторов производства компании «Актив»:
-
Рутокен U2F - работает по открытому стандарту универсальной двухфакторной аутентификации, разработанному FIDO Alliance
-
Генератором одноразовых паролей Рутокен OTP — при аутентификации устройство создает и печатает одноразовый пароль в экранную форму при нажатии кнопки на устройстве.
- Node js (версия v12.22.12 или новее)
- Nginx (конфиг реверс прокси на localhost: 3000 с доступом по https)
- Https сертификат (Валидный сертификат Let's encrypt);
- Reverse proxy
- PostgreSQL (на сервере нужна PostgreSQL версии не ниже 11, учетная запись должна быть наделена правами создания БД. Пример connectionString: - postgresql://user:[email protected]:54321. Доступ к сервису PostgreSQL осуществляться по паролю, поэтому в файле /var/lib/postgresql/data/pg_hba.conf -должен быть установлен метод аутентификации md5)
1. sudo apt-get install postgresql postgresql-contrib (установка PostgreSQL)
2. sudo -i -u postgres (Логин под пользователем postgres)
3. createuser --interactive (Создание новой роли)
Вывод:
Enter name of role to add: user_name_for_db
Shall the new role be a superuser? (y/n) y
4. createdb user_name_for_db (Создание пользовательской БД)
5. exit (Лог-аут)
6. sudo adduser user_name_for_db (Создание пользователя Linux)
7. sudo -i -u user_name_for_db (Логин под пользователем user_name_for_db)
8. psql (Запуск консоли PostgreSQL от имени пользовалтеля user_name_for_db)
9. \passsword user_name_for_db (Задание пароля пользователю user_name_for_db в PostgreSQL)
10.\q (Выход из консоли PostgreSQL)
11.exit (Лог-аут)
12.Отредактировать строчку в конфигурационном файле:
/etc/postgresql/ver_psql/main/pg_hba.conf
с:
local all all peer
на:
local all all md5
13. sudo /etc/init.d/postgresql restart (Рестарт PostgreSQL, или в более ранних версиях: sudo service postgresql restart)
1. npm install
2. Измените connectionString к базе в файле database.json
3. npm run create:db (Создание базы)
4. npm run migrate:db (Создание таблиц в базе)
5. npm run build:client:prod
6. npm run build:server:https
7. sudo npm start
8. https://localhost
9. Для доступа к сервису с других компьютеров заменить шаг 7 на:
sudo USE_HTTPS=1 APP_ID=https://your.domain.ru node dist/app.bundle.js
Имя домена должно быть валидным, оканчиваться на .ru/.com
Заменить имя хоста на удаленной машине:
sudo hostnamectl set-hostname your.domain.ru
Прописать в /etc/hosts на удаленной машине:
127.0.0.1 your.domain.ru
Для доступа к удаленному сервису либо прописать в hosts на локальной машине:
ip.of.remote.server your.domain.ru
Либо изменить настройки DNS внутренней сети.
Рутокен U2F: https://www.rutoken.ru/download/manual/Rutoken_U2F_How_To_Use.pdf Рутокен OTP: https://www.rutoken.ru/download/manual/Rutoken_OTP_How_To_Use.pdf
Исходный код распространяется под лицензией Simplified BSD. См. файл LICENSE в корневой директории проекта.