Skip to content

Node.js authentication system featuring hashed passwords, server-side checks, and TOTP-based two-factor authentication

Notifications You must be signed in to change notification settings

0xVent/secure-auth-nodejs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Secure Authentication with Node.js

Un sistema di registrazione e autenticazione professionale con supporto a TOTP (Time-based One-Time Password), hashing sicuro delle password tramite bcrypt e solide validazioni lato server.

Language:

NodeJS

Express

Dependabot

Caratteristiche principali

  • Archiviazione sicura delle password Tutte le password vengono sottoposte ad hashing con bcrypt prima di essere salvate nel database.

  • Validazione completa

    • Controllo alfanumerico per il nome utente
    • Verifica della lunghezza minima e massima di username e password
    • Prevenzione della registrazione con username duplicati
    • Limitazione dei tentativi di inserimento OTP
  • Gestione dei login in sospeso Supporto per richieste di accesso in attesa di verifica OTP, con scadenza automatica dopo 5 minuti.

  • Configurazione semplice della 2FA Generazione di QR code lato client per un’integrazione immediata con app di autenticazione (es. Google Authenticator).

  • API moderne e standardizzate Tutte le interazioni avvengono tramite JSON, con utilizzo di codici di stato HTTP appropriati.

  • Protezione contro SQL Injection Tutte le query al database utilizzano parametri preparati.


Avvio rapido

1. Installazione delle dipendenze

# All’interno della directory API/
npm install

2. Avvio del server backend

# All’interno della directory API/
node server.js

Nota importante: i file HTML devono essere serviti tramite un web server. L’apertura diretta in locale impedirà il corretto funzionamento dei cookie utilizzati per la gestione dei login in sospeso.


Azioni rapide

View on GitHub Fork Repo


Dimostrazione

Registrazione

Demo Registrazione

Accesso

Demo Login