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:
$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 kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
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.