# 2FA Google Authenticator per PrestaShop — Documentazione

> Questa guida copre l'installazione, la configurazione e l'uso quotidiano del modulo 2FA Google Authenticator per PrestaShop 8 e 9. Il modulo aggiunge una verifica tramite codice a 6 cifre (standard…

- Pagina: <https://www.datafirefly.com/it/documentation/2fa-google-authentificator-pour-prestashop/>
- Lingua: it
- Aggiornato il: 2026-09-08
- Altre lingue: [fr](https://www.datafirefly.com/documentation/2fa-google-authentificator-pour-prestashop/index.md), [en](https://www.datafirefly.com/en/documentation/2fa-google-authentificator-pour-prestashop/index.md), [es](https://www.datafirefly.com/es/documentation/2fa-google-authentificator-pour-prestashop/index.md), [de](https://www.datafirefly.com/de/documentation/2fa-google-authentificator-pour-prestashop/index.md), [pl](https://www.datafirefly.com/pl/documentation/2fa-google-authentificator-pour-prestashop/index.md), [nl](https://www.datafirefly.com/nl/documentation/2fa-google-authentificator-pour-prestashop/index.md), [pt](https://www.datafirefly.com/pt/documentation/2fa-google-authentificator-pour-prestashop/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

Questa guida copre l'installazione, la configurazione e l'uso quotidiano del modulo **2FA Google Authenticator** per PrestaShop 8 e 9. Il modulo aggiunge una verifica tramite codice a 6 cifre (standard TOTP, RFC 6238) dopo l'inserimento della password sul back office.

## Requisiti

- PrestaShop da 8.0 a 8.2 o PrestaShop 9.x
- PHP 7.4 minimo (PHP 8.1+ richiesto da PrestaShop 9)
- Un'app TOTP sul telefono di ogni dipendente: Google Authenticator, Microsoft Authenticator, Authy, 1Password, Bitwarden, FreeOTP o qualsiasi app compatibile con RFC 6238
- Orologio del server sincronizzato via NTP (il caso su tutti gli hosting moderni)

## Installazione

1. Nel back office, apri **Moduli → Gestione moduli**.
2. Clicca su **Carica un modulo** e seleziona il file `df2fa.zip` scaricato dal tuo account DataFirefly.
3. Clicca su **Installa**. Il modulo crea la sua tabella nel database e registra i suoi controller automaticamente.

L'installazione non attiva il 2FA per nessuno: ogni dipendente deve effettuare il proprio abbinamento (o esservi forzato tramite la modalità obbligatoria, vedi sotto). Non rischi di restare bloccato fuori dal back office solo installando il modulo.

## Configurazione del modulo

Apri **Moduli → Gestione moduli → 2FA Google Authenticator → Configura**. La pagina mostra tre blocchi:

### Il mio account 2FA

Un pannello di stato in alto indica se il tuo 2FA è attivo, con un pulsante diretto all'abbinamento o alla gestione.

### Configurazione 2FA

- **2FA obbligatorio** — in modalità forzata, qualsiasi dipendente senza 2FA configurato viene reindirizzato automaticamente alla pagina di abbinamento all'accesso. In modalità opt-in (predefinita), un banner promemoria viene mostrato nel back office e ogni dipendente attiva il proprio 2FA quando vuole.
- **Nome dell'emittente (Issuer)** — il nome mostrato nell'app TOTP dei tuoi dipendenti (predefinito: il nome del negozio).

### Stato 2FA dei dipendenti

Una tabella elenca tutti i dipendenti con il loro stato 2FA (attivo/inattivo), la data di configurazione e un pulsante **Reimposta** per ogni dipendente con 2FA attivo.

Distribuzione progressiva consigliata: inizia in modalità opt-in, lascia che il banner promemoria faccia il suo lavoro per qualche giorno, verifica l'adozione nella tabella, poi passa alla modalità obbligatoria.

## Abbinamento lato dipendente

1. Il dipendente apre la pagina di abbinamento: tramite il link **Configura il mio 2FA** del menu utente (in alto a destra del back office), tramite il banner promemoria, o automaticamente all'accesso se la modalità obbligatoria è attiva.
2. Scansiona il **codice QR** mostrato con la sua app TOTP. Il codice QR è generato localmente nel browser — nessun dato viene inviato a servizi esterni. Se la scansione non è possibile, il segreto può essere inserito manualmente nell'app (pulsante Copia).
3. Inserisce il **codice a 6 cifre** mostrato dall'app per confermare l'abbinamento.
4. Vengono quindi mostrati gli **8 codici di recupero** monouso — è l'unica volta in cui sono visibili. Il dipendente li copia o li stampa e li conserva in un luogo sicuro.

I codici di recupero sono memorizzati come hash (SHA-256): non possono essere visualizzati di nuovo in seguito. Se vengono persi, bisognerà disattivare e riattivare il 2FA, o passare per una reimpostazione del Super Admin.

## Accesso con 2FA

Dopo l'inserimento della password, il dipendente viene reindirizzato alla schermata di verifica 2FA e inserisce il codice a 6 cifre corrente della sua app. La verifica resta valida per **12 ore** per la sessione: non è necessario reinserire un codice a ogni pagina.

Viene applicata una tolleranza di deriva di ±30 secondi per assorbire piccole differenze di orologio tra il server e il telefono.

## Codici di recupero

Se il dipendente non ha più accesso alla sua app TOTP (telefono perso, rubato, ripristinato):

1. Nella schermata di verifica, clicca su **Usa un codice di recupero**.
2. Inserisci uno degli 8 codici di recupero (10 caratteri).
3. Ogni codice funziona **una sola volta**. Una volta connesso, disattiva e riattiva il 2FA per generare un nuovo abbinamento e una nuova serie di codici.

## Protezione anti forza bruta

Dopo **5 codici non validi consecutivi**, la verifica 2FA dell'account viene bloccata per **15 minuti**. La schermata di verifica mostra il tempo rimanente. Il contatore si azzera a ogni verifica riuscita.

## Reimpostazione da parte di un Super Admin

Se un dipendente ha perso sia il telefono che i codici di recupero:

1. Un Super Admin apre la pagina di configurazione del modulo.
2. Nella tabella **Stato 2FA dei dipendenti**, clicca su **Reimposta** sulla riga del dipendente interessato.
3. Il 2FA del dipendente viene rimosso: può accedere solo con la sua password e dovrà rifare l'abbinamento (immediatamente se la modalità obbligatoria è attiva).

## Disattivare il proprio 2FA

Da **Gestisci il mio 2FA** (menu utente o pannello del modulo), clicca su **Disattiva il 2FA** e conferma con un codice TOTP valido. Il codice è richiesto per impedire una disattivazione da una sessione lasciata aperta.

## Aggiornamento dalla versione 1.0.x

L'aggiornamento alla 1.1.0 è automatico e trasparente:

- La struttura della tabella viene migrata (colonne di blocco, campo segreto ampliato).
- I segreti TOTP esistenti restano validi e vengono **cifrati con AES-256** automaticamente al loro prossimo salvataggio. Nessun riabbinamento necessario.
- I codici di recupero esistenti restano utilizzabili: vengono convertiti in hash SHA-256 al primo utilizzo.

Migrazione PS8 → PS9: il modulo è identico su entrambe le versioni. Puoi migrare il tuo negozio senza aggiornare il modulo né riabbinare i dipendenti.

## Risoluzione dei problemi

### «Codice non valido» anche se il codice sembra corretto

Nel 95% dei casi si tratta di uno scostamento di orologio. Verifica che l'orologio del server sia sincronizzato via NTP (`timedatectl` su Linux) e che l'ora del telefono sia in modalità automatica. La tolleranza del modulo è di ±30 secondi.

### Account bloccato dopo tentativi falliti

Attendi la fine del blocco di 15 minuti, o chiedi a un Super Admin di reimpostare il 2FA dell'account dalla pagina di configurazione.

### Tutti gli accessi Super Admin sono bloccati

Come ultima risorsa, disattiva il modulo nel database: nella tabella `ps_module`, imposta la colonna `active` a 0 per la riga `df2fa`, o rinomina temporaneamente la cartella `modules/df2fa`. Riconnettiti, riattiva il modulo e rifai gli abbinamenti necessari.

### Il banner promemoria non viene mostrato

Il banner appare solo per i dipendenti senza 2FA attivo. In modalità opt-in può essere nascosto per la sessione corrente tramite il pulsante di chiusura; riappare alla sessione successiva.

## Note di versione

### 1.1.1 (8 settembre 2026)

- Corretta la tabella Stato 2FA dei dipendenti: la pagina di configurazione restituiva un errore sulla colonna Email
- Lingua di origine del modulo passata all'inglese
- Interfaccia tradotta in francese, italiano, tedesco, spagnolo, portoghese, polacco e olandese
- Etichette del pulsante di copia del segreto ora traducibili

### 1.1.0 — 2 luglio 2026

- Compatibilità con PrestaShop 9 (controller, nuova pagina di accesso Symfony, Symfony 6.4)
- Cifratura AES-256 del segreto TOTP nel database, con migrazione automatica
- Codici di recupero con hash SHA-256 (10 caratteri)
- Blocco di 15 minuti dopo 5 codici non validi
- Codice QR generato 100% localmente (dipendenza da CDN rimossa)

### 1.0.0 — 12 marzo 2025

- Prima versione stabile: TOTP RFC 6238, modalità obbligatoria o opt-in, 8 codici di recupero, reimpostazione Super Admin, multinegozio
