An experiment with multi-part authentication using machine learning
To run this project your server machine needs to have the following installed:
follow the installation instructions specific to your OS
- Use the Node package manager npm to install all of the projects Node dependencies.
npm install
- Use the Python 3 package manager pip to install all of the projects Python dependencies
pip3 install -r requirements.txt
If you are running Ubuntu run the following command to make sure Tkinter is properly installed:
sudo apt-get install python3-tk
- Generate your vapid keys:
./node_modules/.bin/web-push generate-vapid-keys
The output should look similar to the following:
=======================================
Public Key:
<Your Key Here>
Private Key:
<Your Key Here>
=======================================
Copy these keys into their respective variables in the .env_example
file.
- Connect to your MongoDB Cluster
This project uses MongoDB as the database for storing user profile information. You will need to setup your own cluster with MongoDB Atlas
Once you've created a cluster, navigate to the connect dialog and select Connect Your Application You should be given a url that looks like the following:
'mongodb+srv://<Your User>:<password>@<Your Cluster>.mongodb.net/test?retryWrites=true&w=majority'
copy this url with the correct user password replacing <password>
into the DB_URL
variable in .env_example
- Finalize the
.env_example
File
Remove _example
from the .env_example
file name and your .env
will be finalized
Start the node server:
npm run serve
Alternatively, run the server in development mode:
npm run dev
You can change the default port (8080) the server runs on in package.json
:
"config": {
"port": "<Your Port Here>"
}
To delete a user from the server type:
delUser
In your terminal while the server is running. The appropriate prompts will follow
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.