Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Mohu použít auty místo Google Authenticator v Laravel Fortify


Mohu použít auty místo Google Authenticator v Laravel Fortify


Laravel Fortify je backend autentizační balíček pro Laravel, který podporuje dvoufaktorovou ověřování (2FA) prostřednictvím časově založených jednorázových hesel (TOTP). Je to flexibilní a agnostické pro uživatelé aplikací TotP klienta, což znamená, že vás konkrétně nepřivádí k Google Authenticator a může pracovat s jakoukoli ověřovací aplikací založenou na TOTP, včetně Authy.

Co Laravel Fortify dělá pro 2FA

Laravel Fortify poskytuje logiku backendu pro generování tajných klíčů 2FA, bezpečně je ukládá, generuje kódy obnovy a během přihlášení ověřuje tokeny TOTP. Používá dvoufaktorový tajný klíč uživatele k ověření jednorázového hesla generovaného jakoukoli aplikací Authenticator, která podporuje standardní algoritmus TOTP (RFC 6238). Fortify sama o sobě neomezuje ani neomezuje, kterou mobilní nebo stolní aplikaci musí uživatel použít.

Používání Authy místo Google Authenticator

Authy a Google Authenticator jsou oba aplikace založené na Authenticator založené na TOTP. Oba generují 6místné kódy každých 30 sekund na základě tajného klíče sdíleného během nastavení (obvykle skenováním kódu QR). Laravel Fortify bez problémů pracuje s jakoukoli klientskou aplikací, která podporuje tento standard. Proto můžete absolutně použít Authy místo Google Authenticator s Laravel Fortify.

Klíčové body o Authy a Google Authenticator V této souvislosti:

- Kompatibilita: Authy používá stejný standard TOTP jako Google Authenticator, takže jakékoli nastavení 2FA v Laravel Fortify bude fungovat s jednou aplikací bez jakékoli změny na váš backend Laravel.

-Uživatelská zkušenost: Authy nabízí některé výhody oproti Google Authenticator, jako jsou synchronizace tokenů napříč zařízeními (podpora více zařízení), šifrované cloudové zálohy a aplikace pro stolní počítače (historicky, v současné době mobilním zaměření), které mohou vytvořit lepší uživatelský zážitek.

- Zabezpečení: Authy má možnosti pro ochranu pin a biometrické zabezpečení v aplikaci a šifrované zálohy, zatímco Google Authenticator postrádá šifrované zálohy cloudu a synchronizaci více zařízení. Tyto funkce mohou z hlediska uživatele učinit autorizaci uživatelsky přívětivější a odolnější proti ztrátě zařízení.

- Nastavení v Laravel Fortify: Jedinou změnou ve vaší implementaci Laravel Fortify by bylo poskytnout uživateli QR kód nebo tajný klíč pro skenování v Auth. Protože obě aplikace čtou stejný formát, QR Code Fortify generuje funguje z krabice s jednou aplikací.

Úvahy o implementaci

1. Zobrazení kódu frontend QR: Při povolování 2FA, Fortify obvykle generuje kód QR založený na tajném klíči. Tento QR kód lze naskenovat pomocí aplikací Authy nebo Google Authenticator. Váš frontend musí tento QR kód vykreslit a uživatel si může vybrat svou preferovanou aplikaci. Není nutné žádné změny kódu backendu.

2. Potvrzovací krok: Jedním z problémů, s nimiž se někdy setkává s Laravel Fortify, je to, že povolení 2FA bez potvrzení zadaného kódu může uživatelům uzamknout, pokud nastavení řádně nedokončí. Implementace kroku potvrzení, kde uživatel zadá kód generovaný Auth (nebo Google Authenticator) po skenování QR kódu je nejlepší praxe. To platí bez ohledu na použité ověřovací aplikaci.

3. Kódy obnovy: Fortify poskytuje kódy obnovy pro 2FA bypass, pokud uživatel ztratí přístup ke své aplikaci pro autentizaci. Tyto kódy fungují nezávisle na výběru aplikace (Authy nebo Google Authenticator).

Shrnutí rozdílů z pohledu uživatele

- Auty výhody: **
- Podpora více zařízení a automatická synchronizace tokenů 2FA.
- Šifrované zálohy cloudu, aby se zabránilo ztrátě tokenů při ztrátě zařízení.
- Volitelné pin a biometrické zabezpečení aplikace.
- Podpora aplikací pro stolní počítače a prohlížeče (ačkoli některé aplikace pro stolní počítače byly od začátku roku 2024 ukončeny).
- Ověřování založené na push (i když ne standardní TOTP, důležitější pro jiné implementace).

- Výhody autentizátoru Google: **
- Více známé a podporované mnoha službami.
- Jednodušší aplikace, méně složitá podložka infrastruktury (žádné účty, žádné zálohy).
- zcela offline po počátečním nastavení (žádné zálohy cloudu).

Z hlediska integrace Laravel Fortify tyto rozdíly nemají žádné důsledky, protože kódy TOTP z jedné aplikace jsou ověřeny stejným způsobem Fortify.

Další poznámky k využití Fortify

Laravel Fortify neposkytuje přehledy ani uživatelské rozhraní; Poskytuje backendové služby pro ověření. Mnoho vývojářů používá Fortify s Laravel Jetstream nebo jinými soupravami UI. Bez ohledu na uživatelské rozhraní je klíčem, že Fortify generuje tajemství 2FA a ověřuje kódy, přičemž výběr aplikace Authenticator ponechá uživateli.

Pokud je nutné přizpůsobit pro lepší zlepšení zotavení účtu UX nebo zpracování účtu (přidání příznaku „Two_Factor_Confirmed“, přizpůsobení zobrazení atd.), Může být implementována ve vrstvě FITHIFY, ale je nezávislá na výběru mezi Auth a Google Authenticator.

Závěr

Ano, můžete použít Authy namísto Google Authenticator v Laravel Fortify bez změny potřebné k implementaci backend 2FA. Obě aplikace používají stejný standard TOTP plně podporovaný Fortify. Výběr Authy může pro vaše uživatele nabídnout zvýšené funkce použitelnosti a zálohování, zejména ve scénářích ztráty zařízení nebo přístupu k více zařízení, ale z hlediska vývojáře Laravel zůstává integrace stejná. Uživatelé jednoduše naskenují QR kód poskytnutý Fortify s jejich preferovanou aplikací k nastavení 2FA.

Tato flexibilita je záměrně, což umožňuje Laravel Fortify pracovat s jakoukoli aplikací generující standardní kódy TOTP, včetně, ale nejen na Google Authenticator, Authy, Microsoft Authenticator a další.