Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Posso usare Authy invece di Google Authenticator in Laravel Fortify


Posso usare Authy invece di Google Authenticator in Laravel Fortify


Laravel Fortify è un pacchetto di autenticazione back-end per Laravel che supporta l'autenticazione a due fattori (2FA) tramite password One Time (TOTP) basate a tempo. È flessibile e agnostico per gli utenti delle applicazioni client TOTP che impiegano, il che significa che non ti lega specificamente a Google Authenticator e può lavorare con qualsiasi app di autenticazione basata su TOTP, inclusa Authy.

cosa fa laravel fortify per 2fa

Laravel Fortify fornisce la logica backend per generare le chiavi segrete 2FA, memorizzarle in modo sicuro, generare codici di recupero e convalidare i token TOTP durante l'accesso. Utilizza la chiave segreta a due fattori dell'utente per verificare la password una tantum generata da qualsiasi app di autenticatore che supporta l'algoritmo TOTP standard (RFC 6238). Fortificare se stesso non manda o limita quale app mobile o desktop deve utilizzare l'utente.

Utilizzo di Authy anziché Google Authenticator

Authy e Google Authenticator sono entrambe app di autenticatore basate su TOTP. Entrambi generano codici a 6 cifre ogni 30 secondi in base a una chiave segreta condivisa durante la configurazione (in genere scansionando un codice QR). Laravel Fortify funziona perfettamente con qualsiasi app client che supporti questo standard. Pertanto, puoi assolutamente usare Authy invece di Google Authenticator con Laravel Fortify.

Punti chiave su Authy e Google Authenticator in questo contesto:

- Compatibilità: Authy utilizza lo stesso standard TOTP di Google Authenticator, quindi qualsiasi configurazione 2FA in Laravel Fortify funzionerà con entrambe le app senza alcuna modifica al backend di Laravel.

-Esperienza utente: Authy offre alcuni vantaggi su Google Authenticator, come la sincronizzazione di token attraverso i dispositivi (supporto multi-dispositivo), backup cloud crittografati e app desktop (storicamente, attualmente mobili-centric), che possono creare un'esperienza utente migliore.

- Sicurezza: Authy ha opzioni per la protezione dei PIN e la sicurezza biometrica sull'app e i backup crittografati, mentre Google Authenticator non ha backup cloud crittografati e sincronizzazione multi-dispositivo. Queste funzionalità possono rendere Authy più intuitiva e resistente rispetto alla perdita di dispositivi dal punto di vista dell'utente.

- Imposta in Laravel Fortify: l'unica modifica nell'implementazione di Laravel Fortify sarebbe quella di fornire il codice QR o la chiave segreta all'utente per la scansione in Authy anziché su Google Autenticator. Poiché entrambe le app leggono lo stesso formato, il codice QR Fortify genera funziona dalla casella con entrambe le app.

Considerazioni sull'implementazione ###

1. Frontend Codice QR Display: quando si abilita 2FA, Fortify genera in genere un codice QR in base alla chiave segreta. Questo codice QR può essere scansionato dalle app di Authy o Google Authenticator. Il tuo frontend deve solo rendere questo codice QR e l'utente può scegliere la propria app preferita. Nessuna modifica del codice backend necessario.

2. Fase di conferma: un problema a volte riscontrato con Laravel Fortify è che abilitare 2FA senza confermare il codice immesso può bloccare gli utenti se non completano correttamente l'installazione. L'implementazione di un passaggio di conferma in cui l'utente inserisce un codice generato da Authy (o Google Authenticator) dopo aver scansionato il codice QR è una migliore pratica. Questo vale indipendentemente dall'app di autenticazione utilizzata.

3. Codici di recupero: Fortify fornisce codici di recupero per il bypass 2FA se l'utente perde l'accesso alla propria app di autenticatore. Questi codici funzionano indipendentemente dalla scelta dell'app (Authy o Google Authenticator).

Riepilogo delle differenze dalla prospettiva dell'utente

- Authy Vantaggi: **
- Supporto multi-dispositivo e sincronizzazione automatica dei token 2FA.
- Backup cloud crittografati per evitare di perdere token sulla perdita del dispositivo.
- PIN opzionale e sicurezza biometrica per l'app.
- Supporto app desktop e browser (sebbene alcune app desktop siano state interrotte all'inizio del 2024).
- Autenticazione basata su push (sebbene non TOTP standard, più rilevante per altre implementazioni).

- Vantaggi di Google Authenticator: **
- Più conosciuto e supportato da molti servizi.
- App più semplice, infrastruttura di supporto meno complessa (nessun account, nessun backup).
- completamente offline dopo la configurazione iniziale (nessun backup cloud).

Da un punto di vista dell'integrazione di Laravel Fortify, queste differenze non hanno alcuna conseguenza poiché i codici TOTP di entrambe le app sono validati allo stesso modo da Fortify.

Note aggiuntive sull'uso Fortify

Laravel Fortify non fornisce viste o interfaccia dell'interfaccia utente; Fornisce servizi di backend per l'autenticazione. Molti sviluppatori usano Fortify con Laravel Jetstream o altri kit di interfaccia utente. Indipendentemente dall'interfaccia utente, la chiave è che Fortify genera il segreto 2FA e convalida i codici, lasciando la scelta dell'app di autenticatore all'utente.

Se è necessaria la personalizzazione per migliorare meglio il recupero di UX o gestire il recupero dell'account (aggiungendo un flag "Two_Factor_Confited", personalizzazione di visualizzazioni, ecc.), Può essere implementato nel livello Fortify ma è indipendente dalla scelta tra Authy e Google Authenticator.

Conclusione

Sì, puoi utilizzare Authy invece di Google Authenticator in Laravel Fortify senza modifiche necessarie all'implementazione del backend 2FA. Entrambe le app utilizzano lo stesso standard TOTP completamente supportato da Fortify. La scelta di Authy può offrire funzionalità di usabilità e backup migliorate per i tuoi utenti, in particolare negli scenari di perdita di dispositivi o accesso a più dispositivi, ma dal punto di vista dello sviluppatore di Laravel, l'integrazione rimane la stessa. Gli utenti semplicemente scansiona il codice QR fornito da Fortify con la propria app preferita per impostare 2FA.

Questa flessibilità è in base alla progettazione, consentendo a Laravel Fortify di lavorare con qualsiasi app che genera codici TOTP standard, inclusi ma non limitati a Google Authenticator, Authy, Microsoft Autenticator e altri.