NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Auth for Laravel

Rozšírenie

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

KontraktNapojenieÚčel
ResolvesAccessTokenClaimstokens.claims_resolverresolve(Account, GuardConfig): AccessTokenClaims — e-mail, oprávnenia, ďalšie claimy.
CreatesAccountsregistration.creatorcreate(GuardConfig, NewAccountData): Account — registrácia a prijatie pozvánky.
ProvidesRegistrationRulesregistration.rulesrules(GuardConfig): array — vlastné polia; ku creatoru sa dostanú len tieto kľúče.
AssessesLoginRiskrisk.assessorassess(LoginRiskContext): RiskAssessment.
RendersQrCodekontajnerotpauthSvg(uri, size): ?string (null nikdy neblokuje nastavenie).
NegotiatesLocalekontajnernegotiate(Request, GuardConfig): ?string.
ChecksBreachedPasswordskontajnerisBreached(password, GuardConfig): bool.
FingerprintsDeviceskontajnerfingerprint(SessionContext, GuardConfig): ?string.

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

// 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);

Modely a resources

Všetky štyri modely môžu ukazovať na podtriedy modelov balíka — podtrieda sa potom všade vytvára aj dopytuje. 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:

// 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

Odoslaní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.