More screenshots can be found here.
This project is part of the Computer Engineering and Informatics Department (CEID) of University of Patras Thesis. It features a platform that an admin can use to manage TOTP enrollements. This project is directly integrated with the Sibboleth IdP V4.2.1+ and its TOTP Plugin. Visit Wiki to integrate TOTP Manager with Shibboleth IdP.
The project was built with the MERN Stack.
To get a local copy up and running follow these steps.
- Node.js
- npm
- MongoDB
For more information on how to install Node.js and npm, visit Node.js website.
For more information on how to install MongoDB, visit MongoDB website.
-
Setup a local database. More information in MongoDB website.
-
Clone the repo
git clone https://github.com/GTS08/TOTP-Manager.git
-
Change directory to server
-
Install npm packages
npm install
-
Set the environmental variables in .env file
MONGODB_URI=<MONGODB_URI> PORT=3001 SECRET=<secret_key_for_token> ENCRYPTION_KEY=<32_byte_random_string> ENCRYPTION_VECTOR=<16_byte_random_string>
-
Start the server
npm run dev
-
Change directory to client
-
Install npm packages
npm install
-
Start react app
npm start
Start by creating an admin under Admin Collection in the database with the following structure.
{
"username": "<adminUsername>",
"passwordHash": "<passwordHash>"
}
To generate a passwordHash, you can use an online bcrypt generator.
Once an admin is created, visit http://localhost:3000/ to log in with the admin credentials.
Visit Wiki to integrate TOTP Manager with Shibboleth IdP.
-
wget https://github.com/GTS08/TOTP-Manager/releases/download/release/totp_manager_release.tar.gz tar -xzf totp_manager_release.tar.gz cd totp_manager_release
-
Set the environmental variables in .env file
MONGODB_URI=<MONGODB_URI> PORT=3001 SECRET=<secret_key_for_token> ENCRYPTION_KEY=<32_byte_random_string> ENCRYPTION_VECTOR=<16_byte_random_string>
-
Install npm packages
npm install
-
Start the server
npm start