---
title: "Two-Factor for Laravel — dokumentácia | Roundly"
description: "Dokumentácia Two-Factor for Laravel: aktivácia TOTP, QR kód, overovanie odolné voči opakovaniu, záložné kódy, obmedzenie pokusov, udalosti a testy."
url: https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

Open source

# Two-Factor for Laravel

Inštalácia

`composer require roundly-consulting/two-factor-for-laravel`

Vyžaduje: PHP ^8.4 · Laravel ^12.0|^13.0

[GitHub](https://github.com/roundly-consulting/two-factor-for-laravel) [Packagist](https://packagist.org/packages/roundly-consulting/two-factor-for-laravel) [Prispieť (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Patreon](https://www.patreon.com/cw/roundly)

## Prehľad

Natívne dvojfaktorové overovanie pre Laravel postavené na štandarde TOTP podľa RFC 6238, ktorému rozumie každá autentifikačná aplikácia. Vygeneruje tajný kľúč a provisioning URI otpauth://, potvrdí aktiváciu, overuje prihlasovacie kódy porovnaním v konštantnom čase s atomickou ochranou proti opakovaniu a vydá jednorazové záložné kódy pre prípad straty telefónu — všetko cez TwoFactor::for($user). Tajné kľúče sú v databáze šifrované, záložné kódy hašované a obmedzenie pokusov pre každý účet je predvolene zapnuté. Licencia MIT a minimum závislostí: výpočty TOTP zabezpečuje náš vlastný crypto-for-laravel — v bezpečnostnej ceste nie je žiadna externá kryptografická ani QR knižnica.

### Čo získate

#### Riadená aktivácia

Spustenie vráti tajný kľúč, URI otpauth:// a záložné kódy práve raz; 2FA sa zapne až po potvrdení prvým kódom.

#### Overovanie odolné voči opakovaniu

Porovnanie v konštantnom čase a atomické zabratie časového kroku — zachytený kód sa nedá použiť dvakrát, ani pri dvoch súbežných požiadavkách.

#### Jednorazové záložné kódy

Predvolene hašované, spotrebované pod zámkom riadku a každý pokus vráti, koľko kódov používateľovi zostáva.

#### Vstavaná ochrana proti hádaniu

Predvolene päť pokusov za minútu na účet, každý započítaný ešte pred overením — s typovanou výnimkou, udalosťou a vypnutím jedným riadkom.

#### Šifrované a skryté

Tajný kľúč je šifrovaný vaším APP\_KEY a citlivé stĺpce sa nikdy neobjavia v toArray() ani v JSON odpovedi.

#### Kompatibilné so štandardom

Predvolený profil RFC 6238 — SHA1, 6 číslic, 30 sekúnd — takže kľúče z inej knižnice generujú tie isté kódy a nikto nemusí 2FA aktivovať znova; uložené stĺpce sa raz prešifrujú.

#### Fasáda, DI alebo akcie

TwoFactor::for($user), vložený TwoFactorService alebo jedna trieda akcie — a TwoFactor::fake() vo vašich testoch zaznamená každé volanie.

### Dokumentácia

#### [Inštalácia](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/instalacia.md)

Inštalácia cez Composer, publikovanie migrácie, ktorá pridá štyri nullable stĺpce, a voliteľne publikovanie konfigurácie.

#### [Konfigurácia](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/konfiguracia.md)

Všetky kľúče config/two-factor.php s predvolenými hodnotami — TOTP parametre, vydavateľ, záložné kódy, limiter, replay guard a stĺpce.

#### [Nastavenie modelu](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/nastavenie-modelu.md)

Implementujte TwoFactorAuthenticatable, použite trait HasTwoFactorAuthentication a rozbaľte twoFactorCasts() do castov modelu.

#### [Fasáda TwoFactor](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/fasada-twofactor.md)

Jeden vstupný bod: TwoFactor::for($user) na aktiváciu, overenie pri prihlásení, stav, záložné kódy a vypnutie, plus ploché TOTP primitíva.

#### [DI a akcie](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/bez-fasady.md)

Namiesto fasády si vložte kontrakt TwoFactorService alebo spustite jednu akciu — ten istý kód a fake platí aj tu.

#### [Aktivácia](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/aktivacia.md)

Spustite čakajúcu aktiváciu, raz zobrazte tajný kľúč, URI pre QR kód a záložné kódy a potvrďte ju prvým kódom z aplikácie.

#### [Vykreslenie QR kódu](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/qr-kody.md)

Premeňte provisioning URI otpauth:// na QR kód — na serveri ako SVG cez qr-for-laravel alebo priamo vo frontende.

#### [Overovanie pri prihlásení](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/overovanie-pri-prihlaseni.md)

Overte kód cez TwoFactor::for($user)->attempt() — najprv TOTP s ochranou proti opakovaniu, potom jednorazový záložný kód.

#### [Záložné kódy](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/zalozne-kody.md)

Jednorazové záložné kódy pre stratené zariadenie — vznikajú pri aktivácii, predvolene sa hašujú, spotrebúvajú atomicky a dajú sa obnoviť.

#### [Ochrana proti hádaniu](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/obmedzenie-pokusov.md)

Obmedzenie pokusov pre každý účet, započítané pred každou kontrolou — predvolene päť za minútu — s výnimkou, udalosťou a možnosťou vypnutia.

#### [Ochrana proti opakovaniu](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/ochrana-proti-opakovaniu.md)

Každý prijatý kód atomicky zaberie svoj časový krok, takže zachytený kód sa nedá znova použiť — v stĺpci, v cache alebo vo vlastnom guarde.

#### [Metódy traitu a akcie](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/metody-modelu-a-akcie.md)

Celý životný cyklus ako metódy modelu používateľa — skratky nad TwoFactor::for($this), takže ich fake zaznamená a bežia tie isté akcie.

#### [Udalosti](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/udalosti.md)

Deväť udalostí pre aktiváciu, overovanie, záložné kódy, opakovanie a blokovanie — každá nesie používateľa, nikdy nie tajný kľúč či kód.

#### [Výnimky](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/vynimky.md)

Základná trieda TwoFactorException a osem typovaných zlyhaní — nesprávny kód, stav aktivácie, limit pokusov, chybná konfigurácia, neplatný kľúč a ďalšie.

#### [Bezpečnostný model](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/bezpecnost.md)

Šifrované tajné kľúče, hašované záložné kódy, porovnanie v konštantnom čase, atomická ochrana proti opakovaniu a kontrolovaná konfigurácia.

#### [Prechod z inej TOTP knižnice](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/prechod-z-inej-kniznice.md)

Kľúče z akejkoľvek RFC 6238 knižnice generujú tie isté kódy, nikto 2FA neaktivuje znova — stĺpce stačí raz prešifrovať. Vrátane prechodu z Fortify.

#### [Testovanie](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/testovanie.md)

TwoFactor::fake() nasadí programovateľného dvojníka bez kryptografie, ktorý zaznamená každé volanie — alebo testujte skutočné kódy pri zmrazenom čase.

#### [Požiadavky](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/poziadavky.md)

PHP 8.4+, Laravel 12 alebo 13 a nastavený APP\_KEY — s našimi balíkmi crypto, enums a package-toolkit ako závislosťami.

## Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

[Ďalšie spôsoby podpory vrátane kryptomien](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source.md)
