---
title: "Rozšírenie — Auth for Laravel | Roundly"
description: "Nahraďte claimy, vytváranie účtov, pravidlá registrácie, riziko, QR, jazyk, kontrolu únikov a odtlačky — aj modely a resources."
url: https://roundly-consulting.com/sk/open-source/navody/auth-for-laravel/rozsirenie
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)

# Rozšírenie

Každý bod rozšírenia je kontrakt napojený pre guard v konfigurácii alebo globálne v kontajneri:

| Kontrakt | Napojenie | Účel |
| --- | --- | --- |
| `ResolvesAccessTokenClaims` | `tokens.claims_resolver` | resolve(Account, GuardConfig): AccessTokenClaims — e-mail, oprávnenia, ďalšie claimy. |
| `CreatesAccounts` | `registration.creator` | create(GuardConfig, NewAccountData): Account — registrácia a prijatie pozvánky. |
| `ProvidesRegistrationRules` | `registration.rules` | rules(GuardConfig): array — vlastné polia; ku creatoru sa dostanú len tieto kľúče. |
| `AssessesLoginRisk` | `risk.assessor` | assess(LoginRiskContext): RiskAssessment. |
| `RendersQrCode` | kontajner | otpauthSvg(uri, size): ?string (null nikdy neblokuje nastavenie). |
| `NegotiatesLocale` | kontajner | negotiate(Request, GuardConfig): ?string. |
| `ChecksBreachedPasswords` | kontajner | isBreached(password, GuardConfig): bool. |
| `FingerprintsDevices` | kontajner | fingerprint(SessionContext, GuardConfig): ?string. |

Predvolené implementácie sú v kontajneri naviazané cez bindIf, takže vaše vlastné naviazanie v provideri má prednosť:

```php
// App\Providers\AppServiceProvider::register()
use RoundlyConsulting\Auth\Contracts\ChecksBreachedPasswords;
use RoundlyConsulting\Auth\Contracts\FingerprintsDevices;

$this->app->bind(ChecksBreachedPasswords::class, MyBreachChecker::class);
$this->app->bind(FingerprintsDevices::class, MyDeviceFingerprinter::class);
```

Notifikácia nahradená cez notifications.classes.<type> zdedí výber textu by\_actor a cez $this->data->actor (ActorData; ->resolve() vráti model) môže uviesť, kto konal — pozrite Notifikácie.

## Modely a resources

Všetky štyri modely môžu ukazovať na podtriedy modelov balíka — podtrieda sa potom všade vytvára aj dopytuje, vrátane factory balíka. Akákoľvek iná trieda vyhodí InvalidConfigurationException s názvom kľúča; balík sa nikdy potichu nevráti k modelu balíka. JSON resources nie sú final a resources.account nahradí resource pre me v konkrétnom guarde:

```php
// config/authentication.php
'models' => [
    'challenge' => LoginChallenge::class,
    'one_time_token' => OneTimeToken::class,
    'invitation' => App\Models\Invitation::class,   // extends RoundlyConsulting\Auth\Models\Invitation
    'login_activity' => LoginActivity::class,
],

'guards' => [
    'users' => [
        'model' => App\Models\User::class,
        'resources' => ['account' => App\Http\Resources\CurrentUserResource::class],
    ],
],
```

## Čo sa nerozširuje

Formáty tokenov (jwt, refresh-tokens), ceremoniály dvojfaktora a passkeys aj kryptografické primitíva patria nižším balíkom.

## 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)
