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.txtIf 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-keysThe 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_exampleFile
Remove _example from the .env_example file name and your .env will be finalized
Start the node server:
npm run serveAlternatively, run the server in development mode:
npm run devYou 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:
delUserIn 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.