---
title: "Spôsoby prihlásenia — Auth for Laravel | Roundly"
description: "Heslo, magic link, e-mailový kód a passkey bez hesla — čo každý robí, ako je obmedzený a čím prejde každé prihlásenie."
url: https://roundly-consulting.com/sk/open-source/navody/auth-for-laravel/sposoby-prihlasenia
language: sk
---

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

[Auth for Laravel](https://roundly-consulting.com/sk/open-source/navody/auth-for-laravel.md)

# Spôsoby prihlásenia

Štyri primárne spôsoby, každý zapínateľný pre konkrétny guard. Aspoň jeden musí byť zapnutý:

```php
'guards' => [
    'users' => [
        'model' => App\Models\User::class,
        'login' => [
            'password' => true,
            'magic_link' => true,
            'email_otp' => true,
            'passkey' => true,               // passwordless
            'reveal_account_state' => true,  // disabled/unverified codes only after a verified first factor
        ],
        'magic_link' => ['ttl' => 900, 'same_device' => false],
        'email_otp' => ['ttl' => 600, 'length' => 6, 'max_attempts' => 5],
    ],
],
```

```php
$guard   = Authentication::guard('users');
$context = $guard->contextFrom($request);

// Password
$result = $guard->attempt(new PasswordCredentials('ada@example.com', $password), $context);

// Magic link: the request never reveals whether the address exists
$guard->requestMagicLink('ada@example.com', $context);
$result = $guard->consumeMagicLink($token, $context);

// Email code
$guard->requestEmailOtp('ada@example.com', $context);
$result = $guard->verifyEmailOtp('ada@example.com', $code, $context);

// Passwordless passkey (discoverable credentials)
$options = $guard->passkeyLoginOptions($context);             // for navigator.credentials.get()
$result  = $guard->loginWithPasskey($assertion, $context);    // passkeys' AuthenticationResponseData
```

## Heslo

Limity login, login\_ip a login\_account sa overia ešte pred hašovaním. Neznáme účty a účty bez hesla sa overujú voči fiktívnemu hashu s rovnakou náročnosťou, takže čas odpovede neprezradí, či účet existuje. Neúspech zaťaží všetky tri limity, zvýši voliteľné počítadlo uzamknutia a vráti invalid\_credentials. Tvrdo uzamknutý účet odpovie presne ako pri nesprávnom hesle — fiktívna kontrola, pokus zostane započítaný, invalid\_credentials — takže zámok neprezradí heslo ani to, že účet existuje; po zahašovaní hesla sa locked\_until načíta znova, takže zámok zapísaný medzitým toto prihlásenie odmietne rovnako, aj so správnym heslom. Správne heslo dostane pokus späť, až keď prihlásenie prejde do výzvy alebo sa dokončí: ak prihlásenie takéto heslo potom odmietne jednotným invalid\_credentials (deaktivovaný či neoverený účet bez reveal\_account\_state, jednotné zamietnutie pre riziko, nedostupné dodatočné overenie), pokus zostane započítaný ako pri nesprávnom hesle, takže limit správny tip neprezradí.

## Magic link

Skutočný aktívny účet dostane 64-znakový odkaz s tajomstvom vo fragmente URL; požiadavka vždy odpovie 202 sent. Pri použití musí adresa odkazu stále patriť účtu. S magic\_link.same\_device sa pred uplatnením overí odtlačok žiadajúceho zariadenia, takže nezhoda odkaz nespotrebuje.

## E-mailový kód

Rovnaká logika žiadosti ako pri magic linku. Overenie prechádza tromi prihlasovacími limitmi (hádanie kódu je pokus o prihlásenie), nikdy neprezradí attempts\_left a viaže kód na jeho adresu.

## Passkey

Options sú discoverable — bez identifikátora a bez allowCredentials. S passkeys.satisfies\_mfa vyžadujú overenie používateľa, vynútené pre daný ceremoniál. Id ceremoniálu sa musí vrátiť spolu s assertion, credential iného guardu sa odmietne a každý neúspech je jednotné invalid\_credentials.

## Čím prejde každé prihlásenie

- Dôsledky vlastníctva — prihlásenie magic linkom alebo e-mailovým kódom overí adresu (verification.verify\_on\_email\_login).
- Stav účtu — deaktivovaný vráti account\_disabled (alebo invalid\_credentials pri vypnutom reveal\_account\_state); uzamknutý vráti too\_many\_attempts pri prihlásení odkazom, kódom či passkey (prihlásenie heslom už predtým vrátilo invalid\_credentials); neoverený pri required\_for\_login vráti email\_not\_verified.
- Prehašovanie hesla.
- Doplnenie jazyka, ak ho účet nemá, a detekcia nového zariadenia.
- Riziko — nastavená reakcia môže upozorniť, vyžiadať druhý faktor alebo prihlásenie zamietnuť, a to pri akomkoľvek spôsobe prihlásenia.
- Potrebné kroky — dodatočné overenie bez faktora, ktorým by sa účet overil, sa zamietne. Až potom sa vynuluje počítadlo uzamknutia a vyčistí prihlasovací limit, takže jednotné odmietnutie pred týmto bodom ich nechá presne tak ako nesprávne heslo.
- Buď výzva, alebo úspešné dokončenie: tokeny, last\_login\_at, aktivita, LoginSucceeded a TokensIssued.

## Referencie metód overenia

Prístupové tokeny nesú amr (RFC 8176). Dokončená výzva pridá svoje faktory a mfa:

| Primárny spôsob | amr |
| --- | --- |
| Heslo | pwd |
| Magic link | email |
| E-mailový kód | otp |
| Passkey | hwk, user (+ mfa, ak bolo vyžadované overenie používateľa) |
| Pozvánka | email (žiadne pri neoverenej zvolenej adrese) |
| Obnova hesla | email |
| Registrácia | pwd alebo žiadne |

## 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/auth-for-laravel.md)
