Laravel Fortify este un pachet de autentificare backend pentru Laravel care acceptă autentificarea cu doi factori (2FA) prin intermediul parolelor unice bazate pe timp (TOTP). Este flexibil și agnostic pentru utilizatorii de aplicații client TOTP, ceea ce înseamnă că nu vă leagă în mod specific de Google Authenticator și poate lucra cu orice aplicație de autentificare bazată pe TOTP, inclusiv Authy.
Ce face Laravel Fortify pentru 2FA
Laravel Fortify oferă logica backend pentru a genera cheile secrete 2FA, pentru a le stoca în siguranță, a genera coduri de recuperare și a valida jetoanele TOTP în timpul conectării. Utilizează cheia secretă cu doi factori a utilizatorului pentru a verifica parola unică generată de orice aplicație de autentificare care acceptă algoritmul TOTP standard (RFC 6238). Fortify în sine nu mandate sau restricționează ce aplicație mobilă sau desktop trebuie să utilizeze utilizatorul.
folosind Authy în loc de Google Authenticator
Authy și Google Authenticator sunt ambele aplicații de autentificare bazate pe TOTP. Ambele generează coduri de 6 cifre la fiecare 30 de secunde pe baza unei chei secrete partajate în timpul configurației (de obicei prin scanarea unui cod QR). Laravel Fortify funcționează perfect cu orice aplicație client care acceptă acest standard. Prin urmare, puteți utiliza absolut Authy în loc de Google Authenticator cu Laravel Fortify.
Puncte cheie despre Authy și Google Autenticator în acest context:
- Compatibilitate: Authy folosește același standard TOTP ca și Google Authenticator, astfel încât orice configurație 2FA în Laravel Fortify va funcționa cu oricare dintre aplicații fără nicio modificare a backend -ului dvs. Laravel.
-Experiență de utilizator: Authy oferă câteva avantaje față de Google Authenticator, cum ar fi sincronizarea jetoanelor pe dispozitive (suport cu mai multe dispozitive), backup-uri în cloud criptate și aplicații desktop (istoric, în prezent, centrat pe mobil), care poate crea o experiență mai bună a utilizatorului.
- Securitate: Authy are opțiuni pentru protecția PIN și securitatea biometrică în aplicație și backup-uri criptate, în timp ce Google Authenticator nu are backup-uri cloud criptate și sincronizare cu mai multe device. Aceste caracteristici pot face Authy mai ușor de utilizat și mai rezistent împotriva pierderii dispozitivului din perspectiva utilizatorului.
- Configurare în Laravel Fortify: Singura modificare a implementării dvs. Laravel Fortify ar fi să furnizați codul QR sau cheia secretă utilizatorului pentru scanarea în Authy în loc de Google Authenticator. Deoarece ambele aplicații citesc același format, codul QR Fortify generează lucrări din casetă cu oricare dintre aplicații.
Considerații de implementare
1. Afișarea codului QR frontend: Când activați 2FA, Fortify generează de obicei un cod QR bazat pe cheia secretă. Acest cod QR poate fi scanat prin aplicații Authy sau Google Authenticator. Frontend -ul dvs. trebuie doar să redea acest cod QR, iar utilizatorul poate alege aplicația preferată. Nu sunt necesare modificări de cod de backend.
2. Etapa de confirmare: O problemă întâlnită uneori cu Laravel Fortify este aceea că activarea 2FA fără a confirma codul introdus poate bloca utilizatorii dacă nu completează corect configurația. Implementarea unui pas de confirmare în care utilizatorul introduce un cod generat de Authy (sau Google Authenticator) după ce scanarea codului QR este o cea mai bună practică. Aceasta se aplică indiferent de aplicația de autentificare utilizată.
3. Coduri de recuperare: Fortify oferă coduri de recuperare pentru 2FA bypass dacă utilizatorul pierde accesul la aplicația lor de autentificare. Aceste coduri funcționează independent de alegerea aplicației (Authy sau Google Authenticator).
Rezumatul diferențelor față de perspectiva utilizatorului
- AUTORI AUTO: **
- suport multi-dispozitiv și sincronizare automată a jetoanelor 2FA.
- Backup -uri cloud criptate pentru a evita pierderea jetoanelor pentru pierderea dispozitivului.
- PIN opțional și securitate biometrică pentru aplicație.
- Asistență pentru aplicații pentru desktop și browser (deși unele aplicații desktop au fost întrerupte la începutul anului 2024).
- Autentificare bazată pe push (deși nu este TOTP standard, mai relevantă pentru alte implementări).
- Avantaje Google Authenticator: **
- Mai cunoscut și mai susținut de multe servicii.
- Aplicație mai simplă, infrastructură de susținere mai puțin complexă (fără conturi, fără copii de rezervă).
- complet offline după configurarea inițială (fără copii de rezervă în cloud).
Din punct de vedere al integrării Laravel Fortify, aceste diferențe nu au nicio consecință, deoarece codurile TOTP din oricare dintre aplicații sunt validate în același mod de Fortify.
Note suplimentare privind utilizarea fortifierii
Laravel Fortify nu oferă vizualizări frontend sau UI; Oferă servicii de backend pentru autentificare. Mulți dezvoltatori folosesc Fortify cu Jetstream Laravel sau alte kituri UI. Indiferent de UI, cheia este că Fortify generează secretul 2FA și validează codurile, lăsând utilizatorul să aleagă aplicația Authenticator.
Dacă este necesară personalizarea pentru a îmbunătăți UX sau pentru a gestiona mai bine recuperarea contului (adăugând un steag „two_factor_confirmed”, personalizarea vizualizărilor etc.), acesta poate fi implementat în stratul Fortify, dar este independent de alegerea dintre Authy și Google Authenticator.
Concluzie
Da, puteți utiliza Authy în loc de Google Authenticator în Laravel Fortify, fără nicio modificare necesară pentru implementarea backend 2FA. Ambele aplicații folosesc același standard TOTP acceptat complet de Fortify. Alegerea Authy poate oferi funcții îmbunătățite de utilizare și backup pentru utilizatorii dvs., în special în scenarii de pierdere a dispozitivului sau acces multi-dispozitiv, dar din punctul de vedere al dezvoltatorului Laravel, integrarea rămâne aceeași. Utilizatorii pur și simplu scanează codul QR furnizat de Fortify cu aplicația preferată pentru a configura 2FA.
Această flexibilitate se face prin proiectare, permițând Laravel Fortify să lucreze cu orice aplicație care generează coduri TOTP standard, inclusiv, dar fără a se limita la Google Authenticator, Authy, Microsoft Authenticator și altele.