Laravel Fortify is een backend-authenticatiepakket voor Laravel dat tweefactor-authenticatie (2FA) ondersteunt via tijdgebaseerde eenmalige wachtwoorden (TOTP). Het is flexibel en agnostisch voor de TOTP-client-applicatie die gebruikers in dienst hebben, wat betekent dat het u niet specifiek aan Google Authenticator verbindt en kan werken met elke TOTP-gebaseerde authenticatie-app, inclusief authy.
Wat Laravel Fortify doet voor 2fa
Laravel Fortify biedt de backend -logica om de 2FA -geheime sleutels te genereren, veilig op te slaan, herstelcodes te genereren en TOTP -tokens te valideren tijdens het login. Het maakt gebruik van de twee-factor geheime sleutel van de gebruiker om het eenmalige wachtwoord te verifiëren dat wordt gegenereerd door een authenticator-app die het standaard TOTP-algoritme ondersteunt (RFC 6238). Fortify zichzelf bevordert of beperkt niet welke mobiele of desktop -app de gebruiker moet gebruiken.
Authy gebruiken in plaats van Google Authenticator
Authy en Google Authenticator zijn beide op TOTP gebaseerde authenticator-apps. Beide genereren elke 30 seconden 6-cijferige codes op basis van een geheime sleutel die tijdens de installatie wordt gedeeld (meestal door een QR-code te scannen). Laravel Fortify werkt naadloos met elke client -app die deze norm ondersteunt. Daarom kunt u absoluut authy gebruiken in plaats van Google Authenticator met Laravel Fortify.
Belangrijke punten over authenticator van Authy en Google in deze context:
- Compatibiliteit: Authy gebruikt dezelfde TOTP -standaard als Google Authenticator, dus elke 2FA -opstelling in Laravel Fortify werkt met beide apps zonder enige wijziging in uw Laravel -backend.
-Gebruikerservaring: Authy biedt enkele voordelen ten opzichte van Google Authenticator, zoals het synchroniseren van tokens in apparaten (ondersteuning met meerdere apparaten), gecodeerde cloudback-ups en desktop-apps (historisch gezien momenteel mobiel gericht), die een betere gebruikerservaring kunnen creëren.
- Beveiliging: Authy heeft opties voor pinbescherming en biometrische beveiliging op de app en gecodeerde back-ups, terwijl Google Authenticator geen gecodeerde cloudback-ups en multi-apparaat-synchronisatie heeft. Deze functies kunnen authy gebruiksvriendelijker en veerkrachtiger maken tegen het verlies van apparaten vanuit het perspectief van een gebruiker.
- Setup in Laravel Fortify: de enige wijziging in uw Laravel Fortify -implementatie zou zijn om de QR -code of geheime sleutel te verstrekken aan de gebruiker voor scannen in authy in plaats van Google Authenticator. Aangezien beide apps hetzelfde formaat lezen, genereert de QR -code Fortify Works Out of the Box met beide apps.
Implementatieoverwegingen
1. Frontend QR -codeweergave: bij het inschakelen van 2FA genereert Fortify typisch een QR -code op basis van de geheime sleutel. Deze QR -code kan worden gescand door Authy of Google Authenticator -apps. Uw frontend moet deze QR -code gewoon weergeven en de gebruiker kan zijn voorkeurs -app kiezen. Geen backend -codewijzigingen nodig.
2. Bevestigingsstap: Een probleem dat soms wordt aangetroffen met Laravel Fortify is dat het inschakelen van 2FA zonder de ingevoerde code te bevestigen, gebruikers kan vergrendelen als ze de instelling niet correct voltooien. Het implementeren van een bevestigingsstap waarbij de gebruiker een code invoert die wordt gegenereerd door authy (of Google Authenticator) na het scannen van de QR -code is een best practice. Dit geldt ongeacht de gebruikte authenticatie -app.
3. Herstelcodes: Fortify biedt herstelcodes voor 2FA -bypass als de gebruiker toegang verliest tot zijn authenticator -app. Deze codes werken onafhankelijk van de App -keuze (authy of Google Authenticator).
Samenvatting van verschillen van gebruikersperspectief
- Authy Voordelen: **
- Multi-Device-ondersteuning en automatische synchronisatie van 2FA-tokens.
- Back -ups van de cloud gecodeerde om te voorkomen dat u tokens verliest bij verlies van apparaten.
- Optionele pin en biometrische beveiliging voor de app.
- Ondersteuning van desktop- en browser -app (hoewel sommige desktop -apps werden stopgezet vanaf begin 2024).
- op push gebaseerde authenticatie (hoewel niet standaard TOTP, relevanter voor andere implementaties).
- Google Authenticator Voordelen: **
- Meer algemeen bekend en ondersteund door veel diensten.
- Eenvoudigere app, minder complexe ruginfrastructuur (geen accounts, geen back -ups).
- volledig offline na de eerste opstelling (geen cloudback -ups).
Vanuit een Laravel Fortify Integration -standpunt zijn deze verschillen van geen gevolg omdat de TOTP -codes van beide apps op dezelfde manier worden gevalideerd door Fortify.
Aanvullende opmerkingen over het gebruik van versterken
Laravel Fortify biedt geen frontend uitzicht of gebruikersinterface; Het biedt backend -services voor authenticatie. Veel ontwikkelaars gebruiken Fortify met Laravel Jetstream of andere UI -kits. Ongeacht de gebruikersinterface is de sleutel dat Fortify het 2FA -geheim genereert en codes valideert, waardoor de keuze van de Authenticator -app aan de gebruiker wordt overgelaten.
Als aanpassing nodig is om de UX te verbeteren of accountherstel beter te verwerken (een "twee_factor_confirmed" -vlag toe te voegen, weergaven aan te passen, enz.), Kan deze worden geïmplementeerd in de Fortify -laag, maar is onafhankelijk van de keuze tussen Authy en Google Authenticator.
Conclusie
Ja, u kunt authy gebruiken in plaats van Google Authenticator in Laravel Fortify zonder verandering die nodig is voor uw backend 2FA -implementatie. Beide apps gebruiken dezelfde TOTP -standaard die volledig wordt ondersteund door Fortify. Het kiezen van authy kan verbeterde bruikbaarheid en back-upfuncties bieden voor uw gebruikers, vooral in scenario's van apparaatverlies of toegang tot meerdere apparaten, maar vanuit het standpunt van Laravel-ontwikkelaar blijft de integratie hetzelfde. Gebruikers scannen eenvoudig de QR -code die door Fortify wordt verstrekt met hun voorkeurs -app om 2FA in te stellen.
Deze flexibiliteit is door ontwerp, waardoor Laravel Fortify kan werken met alle app -genererende standaard TOTP -codes, inclusief maar niet beperkt tot Google Authenticator, Authy, Microsoft Authenticator en anderen.