---
title: "Metódy traitu a akcie — Two-Factor for Laravel | Roundly"
description: "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."
url: https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel/metody-modelu-a-akcie
language: sk
---

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

[Two-Factor for Laravel](https://roundly-consulting.com/sk/open-source/navody/two-factor-for-laravel.md)

# Metódy traitu a akcie

HasTwoFactorAuthentication sprístupní ten istý životný cyklus priamo na používateľovi. Každá metóda deleguje na TwoFactor::for($this) — nikdy priamo na akciu — takže ju TwoFactor::fake() zaznamená a vaše náhrady akcií naďalej platia:

```php
$setup  = $user->startTwoFactorEnrolment();          // → TwoFactorSetup (== ->start())
$user->confirmTwoFactor($code);                      // == ->confirm()
$result = $user->attemptTwoFactorCode($code);        // → VerificationResult (== ->attempt())
$ok     = $user->verifyTwoFactorCode($code);         // bool (== ->attempt()->verified)
$user->disableTwoFactor();                           // == ->disable()
$codes  = $user->regenerateTwoFactorRecoveryCodes(); // == ->recoveryCodes()->regenerate()

$user->twoFactorRecoveryCodesRemaining();            // int
```

| Metóda | Vracia | Účel |
| --- | --- | --- |
| `startTwoFactorEnrolment(?string $label = null, ?string $issuer = null)` | `TwoFactorSetup` | Spustí (alebo reštartuje) čakajúcu aktiváciu — ->start(). |
| `confirmTwoFactor(string $code)` | `void` | Potvrdí čakajúcu aktiváciu prvým kódom — ->confirm(). |
| `attemptTwoFactorCode(string $code)` | `VerificationResult` | Overenie pri prihlásení — TwoFactor::for($this)->attempt(). |
| `verifyTwoFactorCode(string $code)` | `bool` | Overenie pri prihlásení — presne ->attempt($code)->verified. |
| `disableTwoFactor()` | `void` | Vymaže celý stav dvojfaktorového overovania — ->disable(). |
| `regenerateTwoFactorRecoveryCodes()` | `list<string>` | Nahradí záložné kódy a raz vráti novú sadu — ->recoveryCodes()->regenerate(). |
| `twoFactorRecoveryCodesRemaining()` | `int` | Koľko jednorazových záložných kódov zostáva. |
| `hasTwoFactorEnabled()` | `bool` | Tajný kľúč je nastavený a potvrdený. |
| `hasPendingTwoFactor()` | `bool` | Tajný kľúč je nastavený, ale ešte nie je potvrdený. |
| `twoFactorSecret()` | `?string` | Dešifrovaný base32 tajný kľúč. |
| `twoFactorRecoveryCodes()` | `list<string>` | Uložené kódy — v režime hashed ide o haše. |
| `twoFactorLabel()` | `string` | Označenie účtu v URI — e-mail, inak primárny kľúč. Dá sa prepísať. |
| `twoFactorCasts()` | `array<string, string>` | Casty, ktoré rozbalíte do casts() modelu. |

Metóde startTwoFactorEnrolment() môžete odovzdať označenie účtu aj vydavateľa, prípadne na modeli prepíšte twoFactorLabel(), ak má provisioning URI namiesto predvoleného e-mailu (inak primárneho kľúča) používať používateľské meno či telefón.

## Akcie v pozadí

Každá zapisujúca metóda končí v jednej triede akcie — StartEnrolment, ConfirmEnrolment, AttemptTwoFactorCode, RegenerateRecoveryCodes alebo DisableTwoFactor. Priamo ich volajte, keď skladáte vlastné akcie či joby; celé mapovanie nájdete v sekcii DI a akcie.

Vypnutie vymaže všetky dvojfaktorové stĺpce — tajný kľúč, záložné kódy, potvrdenie aj značku pre replay guard — takže administrátor môže kompromitovaný účet resetovať jedným volaním a používateľ si 2FA čisto aktivuje znova.

## 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/navody/two-factor-for-laravel.md)
