ADAMANT 2FA Demo Application
What is ADAMANT 2FA
ADAMANT 2FA is a service to deliver one-time passwords (OTP) to ADAMANT Messenger account.
It's cheaper, more secure and reliable than SMS. ADAMANT 2FA advantages.
Live demo is available at 2fa-demo.adamant.im. For details read Presenting ADAMANT 2FA.
Prerequisites
Setup
Clone repository and install dependencies:
git clone https://github.com/Adamant-im/adamant-2fa.git
cd adamant-2fa && npm i
cd client && yarn install
cd ../
Create db-user and 2fa database:
sudo -u postgres psql
postgres=# CREATE USER "adamant-2fa" WITH PASSWORD 'password';
postgres=# CREATE DATABASE "adamant-2fa" WITH OWNER "adamant-2fa";
Set up md5 auth method. Get hba_file path:
postgres=# SHOW hba_file;
hba_file
-------------------------------------
/usr/local/var/postgres/pg_hba.conf
(1 row)
Update hba_file and restart postgresql:
sudo nano /usr/local/var/postgres/pg_hba.conf
local adamant-2fa adamant-2fa md5
sudo service postgresql restart
Create tables for Loopback models:
cd server && node create-lb-tables.js
cd ../
Set up ADAMANT passPhrase
to send 2fa codes from:
cp config.default.json config.json
nano config.json
The 2FA app uses config.json
file. Enter your ADM passphrase into passPhrase
field. Make sure this account has ADM to send messages with 2fa codes. How to create ADM account and get free tokens.
Note: 2FA demo uses adamant-console to send 2fa codes. If you have this tool installed separately, make sure it's default config doesn't exist, or set to mainnet
and correct passPhrase
.
Note: If the app doesn't send 2FA codes, debug console shows {"success":false,"errorMessage":"Wrong 'passPhrase' parameter"}
. Make sure you've created config.json
in the root directory (where package.json
located), and you've set passPhrase
and network
parameters.
Start
Serve (Dev mode)
node .
cd client && yarn serve
Build
cd client && yarn build
yarn serve-build
Launch as process manager process
We recommend to use a process manager to start the program, f. e. pm2
:
pm2 start ./server/server.js --name 2fa-demo-server
pm2 start ./client/server.js --name 2fa-demo-client
How to connect ADAMANT 2FA to your service
If you own a service (as email, exchange, financial interface, etc.) and want to add 2FA security for users, connect ADAMANT 2FA. To use ADAMANT 2FA, clone this project and modify client and server parts. Read more: How to connect ADAMANT 2FA to your business.