Skip to content

danilipari/two-factor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Two-factor authentication

Support Google Authenticator!

Questo progetto implementa l'autenticazione a due fattori utilizzando il codice OTP (One-Time Password) generato tramite l'applicazione speakeasy.

Dipendenze

Assicurati di avere le seguenti dipendenze installate nel tuo ambiente di sviluppo:

  • Node.js (versione 16 o superiore)
  • npm (gestore dei pacchetti di Node.js)

Installazione

  1. Clona il repository del progetto:

    git clone https://github.com/danilipari/two-factor.git
  2. Entra nella directory del progetto:

    cd two-factor
  3. Installa le dipendenze del progetto:

    npm install

Configurazione

Prima di eseguire il progetto, è necessario configurare alcune variabili.

  1. Apri il file index.js nel tuo editor di codice.

  2. Modifica le seguenti variabili per adattarle alle tue esigenze:

    • qrcodeGen: Imposta il valore su true se desideri generare un codice QR per la configurazione del codice OTP, altrimenti impostalo su false.
    • logs: Imposta il valore su true se desideri abilitare i log durante l'esecuzione, altrimenti impostalo su false.
    • account.init: Inserisci l'iniziale dell'account desiderato.
    • account.issuer: Inserisci il nome dell'emittente del codice OTP desiderato.

Utilizzo

Per avviare il progetto, esegui il seguente comando nella directory del progetto:

node index.js

Il programma genererà una chiave segreta utilizzando speakeasy e la codificherà in formato Base32 utilizzando thirty-two. Successivamente, verrà generato un URL per la configurazione del codice OTP. Se qrcodeGen è impostato su true, verrà generato un codice QR corrispondente all'URL e salvato in un file HTML chiamato qrcode.html. Infine, il programma verificherà se un codice OTP "000000" è valido utilizzando speakeasy.totp.verify().

Risorse aggiuntive

Contributi

Sono benvenuti i contributi al progetto! Se desideri apportare modifiche o segnalare problemi, puoi aprire una nuova issue o inviare una pull request.

Releases

No releases published

Packages

No packages published