Laravel Fortify ir Laravel aizmugures autentifikācijas pakete, kas atbalsta divu faktoru autentifikāciju (2FA), izmantojot vienreizējus paroles (TOTP). Tas ir elastīgs un agnostisks TOTP klienta lietojumprogrammu lietotājiem, kas nozīmē, ka tas nozīmē, ka tas jūs īpaši nesaista ar Google autentifikatoru un var strādāt ar jebkuru TOTP balstītu autentifikācijas lietotni, ieskaitot Authy.
Ko Laravel Fortify dara 2FA
Laravel Fortify nodrošina aizmugures loģiku, lai ģenerētu 2FA slepenās atslēgas, droši uzglabāt tās, ģenerēt atkopšanas kodus un apstiprinātu TOTP marķierus pieteikšanās laikā. Tas izmanto lietotāja divu faktoru slepeno atslēgu, lai pārbaudītu vienreizējo paroli, ko ģenerē jebkura autentifikatora lietotne, kas atbalsta standarta TOTP algoritmu (RFC 6238). Pacelojot sevi, nav pilnvarots un neierobežo to, kuru mobilo vai galddatoru lietotāju ir jāizmanto.
Izmantojot authy, nevis Google autentifikatoru
Authy un Google Authenticator ir gan TOTP balstītas autentifikatora lietotnes. Abas ģenerē 6 ciparu kodus ik pēc 30 sekundēm, pamatojoties uz slepeno atslēgu, kas koplietota iestatīšanas laikā (parasti, skenējot QR kodu). Laravel Fortify nemanāmi darbojas ar jebkuru klienta lietotni, kas atbalsta šo standartu. Tāpēc Google autentifikatora vietā ar Laravel Fortify jūs varat absolūti izmantot Authy.
Galvenie punkti par Authy un Google autentifikatoru šajā kontekstā:
- Savietojamība: Authy izmanto to pašu TOTP standartu kā Google Authenticator, tāpēc jebkura 2FA iestatīšana Laravel Fortify darbosies ar abām lietotnēm, nemainot jūsu Laravel aizmugures stāvokli.
-Lietotāju pieredze: Authy piedāvā dažas priekšrocības salīdzinājumā ar Google autentifikatoru, piemēram, marķieru sinhronizēšanu dažādās ierīcēs (vairāku ierīču atbalsts), šifrētas mākoņu dublējumkopijas un galddatoru lietotnes (vēsturiski, pašlaik uz mobilajām ierīcēm), kas var radīt labāku lietotāja pieredzi.
- Drošība: Authy ir PIN aizsardzības un biometriskās drošības iespējas lietotnē un šifrētas dublējumkopijas, savukārt Google autentifikatoram trūkst šifrētu mākoņu dublējumu un vairāku ierīču sinhronizācijas. Šīs funkcijas var padarīt autoriju lietotājam draudzīgāku un izturīgāku pret ierīces zaudēšanu no lietotāja viedokļa.
- Iestatīšana Laravel Fortify: Vienīgās izmaiņas jūsu Laravel Fortify ieviešanā būtu QR koda vai slepenas atslēgas nodrošināšana lietotājam, lai skenētu authy, nevis Google autentifikatoru. Tā kā abas lietotnes lasa vienu un to pašu formātu, QR kods, kas tiek ģenerēts, darbojas no lodziņa ar abām lietotnēm.
ieviešanas apsvērumi
1. FRONTEND QR koda displejs: Iespējojot 2FA, stiprinājums parasti ģenerē QR kodu, pamatojoties uz slepeno atslēgu. Šo QR kodu var skenēt Authy vai Google autentifikatora lietotnes. Jūsu priekšgalam vienkārši jāpadara šis QR kods, un lietotājs var izvēlēties savu vēlamo lietotni. Nav vajadzīgas aizmugures koda izmaiņas.
2. Apstiprināšanas solis: Viena problēma, kas dažreiz saskaras ar Laravel Fortify, ir tāda, ka 2FA iespējošana, neapstiprinot ievadīto kodu, var bloķēt lietotājus, ja viņi pareizi nepabeidz iestatīšanu. Labākā prakse ir apstiprinājuma darbība, kurā lietotājs ievada kodu, ko ģenerē authy (vai Google autentifikators) pēc QR koda skenēšanas. Tas attiecas neatkarīgi no izmantotās lietotnes autentifikācijas.
3. Atkopšanas kodi: stiprinājums nodrošina 2FA apvedceļa atkopšanas kodus, ja lietotājs zaudē piekļuvi savai autentifikatora lietotnei. Šie kodi darbojas neatkarīgi no lietotnes izvēles (Authy vai Google autentifikators).
Atšķirību kopsavilkums no lietotāja viedokļa
- Authy priekšrocības: **
- 2FA žetonu daudzgrupu atbalsts un automātiskā sinhronizācija.
- Šifrēti mākoņu dublējumi, lai nezaudētu žetonus par ierīces zaudēšanu.
- Lietotnes izvēles PIN un biometriskā drošība.
- Darbvirsmas un pārlūkprogrammas lietotņu atbalsts (lai gan dažas galddatoru lietotnes tika pārtrauktas jau 2024. gada sākumā).
- uz pusi balstīta autentifikācija (lai arī tā nav standarta TOTP, vairāk atbilstoša citām ieviešanām).
- Google autentifikācijas priekšrocības: **
- plašāk pazīstams un atbalstīts daudzi pakalpojumi.
- Vienkāršāka lietotne, mazāk sarežģīta infrastruktūras atbalsta (nav kontu, nav dublējumu).
- pilnīgi bezsaistē pēc sākotnējās iestatīšanas (nav mākoņu dublējumu).
No laravel stiprināšanas integrācijas viedokļa šīm atšķirībām nav nozīmes, jo abas lietotnes TOTP kodi nav apstiprināti tāpat kā stipri.
Papildu piezīmes par stiprinājumu izmantošanu
Laravel Fortify nesniedz priekšpusi vai lietotāja saskarni; Tas nodrošina aizmugures pakalpojumus autentifikācijai. Daudzi izstrādātāji izmanto stiprinājumu ar Laravel Jetstream vai citiem UI komplektiem. Neatkarīgi no lietotāja saskarnes, galvenais ir tas, ka stiprinājums ģenerē 2FA noslēpumu un apstiprina kodus, atstājot lietotājam autentifikatora izvēli.
Ja ir nepieciešama pielāgošana, lai labāk uzlabotu UX vai apstrādātu konta atkopšanu (pievienojot karogu "Two_Factor_confirmed", pielāgojot skatus utt.), To var ieviest stiprinājuma slānī, bet nav atkarīgs no izvēles starp Authy un Google autentifikatoru.
Secinājums
Jā, Laravel Fortify varat izmantot Authy, nevis Google autentifikatoru, kas nav nepieciešama jūsu aizmugures 2FA ieviešanai. Abas lietotnes izmanto vienu un to pašu TOTP standartu, ko pilnībā atbalsta Fortify. Authy izvēle var piedāvāt uzlabotu lietojamību un rezerves funkcijas jūsu lietotājiem, it īpaši ierīču zaudēšanas scenārijos vai piekļuvei vairākām ierīcēm, taču no Laravel izstrādātāja viedokļa integrācija paliek tāda pati. Lietotāji vienkārši skenē QR kodu, ko nodrošina stiprinājums ar savu vēlamo lietotni, lai iestatītu 2FA.
Šī elastība ir pēc dizaina, ļaujot Laravel stiprināt darboties ar jebkuru lietotni, kas ģenerē standarta TOTP kodus, ieskaitot, bet ne tikai, Google Authenticator, Authy, Microsoft Authenticator un citus.