---
title: "Fasáda Passkeys — Passkeys for Laravel | Roundly"
description: "Celé verejné API na jednej fasáde — Passkeys::for($user) pre všetko, čo patrí jednému účtu, ploché volania pre prihlásenie bez mena."
url: https://roundly-consulting.com/sk/open-source/navody/passkeys-for-laravel/fasada
language: sk
---

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

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

# Fasáda Passkeys

Fasáda Passkeys je jediný vstupný bod. Všetko, čo patrí jednému účtu, ide cez Passkeys::for($user), ktorý vráti handle UserPasskeys; prihlásenie bez mena (discoverable) zostáva ploché, pretože účet ešte nepoznáte. Každá ceremónia sú dve volania — pripraviť možnosti pre prehliadač a potom overiť jeho odpoveď:

```php
use RoundlyConsulting\Passkeys\Facades\Passkeys;

// Everything scoped to one account goes through its handle.
$keys = Passkeys::for($user);                    // UserPasskeys

$keys->registrationOptions($overrides);          // CreationOptionsData ($overrides optional)
$keys->register($response, name: 'Laptop');      // Passkey
$keys->authenticationOptions($overrides);        // RequestOptionsData bound to this account
$keys->authenticate($response);                  // Passkey — only this account's credential
$keys->all();                                    // Collection<Passkey>, newest first
$keys->find($id);                                // ?Passkey — null for another account's id
$keys->count();                                  // int
$keys->exists();                                 // bool
$keys->rename($passkeyOrId, 'Work laptop');      // Passkey — refuses another account's passkey
$keys->revoke($passkeyOrId);                     // void — refuses another account's passkey

// No account yet: the discoverable (usernameless) login stays flat.
Passkeys::authenticationOptions($overrides);     // RequestOptionsData ($overrides optional)
Passkeys::authenticate($response, $expect);      // Passkey — $expect optionally holds it to an owner (type)
Passkeys::attestationFormats();                  // ['none', 'packed', 'apple']
```

## Všetky metódy

| Metóda | Vracia | Čo robí |
| --- | --- | --- |
| `for($user)` | UserPasskeys | Handle účtu — každé volanie na ňom platí len pre $user. |
| `for($user)->registrationOptions(?$overrides)` | CreationOptionsData | Možnosti pre navigator.credentials.create(); uloží jednorazovú challenge. |
| `for($user)->register($response, ?$name)` | Passkey | Overí atestačnú odpoveď a uloží kľúč, voliteľne s názvom. |
| `for($user)->authenticationOptions(?$overrides)` | RequestOptionsData | Možnosti prihlásenia viazané na kľúče tohto účtu. |
| `for($user)->authenticate($response)` | Passkey | Overí podpis a pripustí len kľúč tohto účtu. |
| `for($user)->all()` | Collection<int, Passkey> | Aktívne kľúče účtu, od najnovšieho. |
| `for($user)->find($id)` | ?Passkey | Jeden aktívny kľúč podľa ID (int alebo reťazec) — null pre odvolaný kľúč, ID iného účtu alebo nečíselný reťazec. |
| `for($user)->count() / exists()` | int / bool | Počet aktívnych kľúčov a či existuje aspoň jeden. |
| `for($user)->rename($passkeyOrId, $name)` | Passkey | Premenuje kľúč tohto účtu; spustí PasskeyRenamed. |
| `for($user)->revoke($passkeyOrId)` | void | Zmaže kľúč tohto účtu cez soft delete; spustí PasskeyRevoked. |
| `authenticationOptions(?$overrides)` | RequestOptionsData | Možnosti prihlásenia bez mena — odpovedať môže kľúč ľubovoľného účtu. |
| `authenticate($response, ?$expect)` | Passkey | Overí prihlásenie bez mena, voliteľne viazané na vlastníka alebo typ vlastníka. |
| `attestationFormats()` | list<string> | Formáty atestácie, ktoré táto relying party vie overiť. |
| `fake()` | PasskeysFake | Nahradí službu zaznamenávajúcou testovacou náhradou bez kryptografie (pozri Testovanie). |

## Rozsah účtu je bezpečnostná hranica

- for($user)->authenticate() pripustí len kľúč tohto účtu — výsledok viaže cez AuthenticationExpectation::owner($user).
- find(), rename() a revoke() prijímajú Passkey alebo jeho ID — int, prípadne reťazec, v akom prichádza parameter z routy — a rename() a revoke() kľúč iného účtu, prípadne už odvolaný kľúč, odmietnu jednotnou výnimkou CredentialNotFound. Parameter z routy tak môžete odovzdať priamo; reťazec, ktorý nie je kanonické kladné celé číslo, sa jednoducho nenájde.
- find() vráti pre ID iného účtu null a neprezradí, že taký kľúč existuje.

Každé volanie získa svoju akciu z kontajnera, takže vlastná implementácia akcie platí pre fasádu, injektovanú službu aj metódy modelu. Fasáda je odporúčaná voľba; ďalšia sekcia ukazuje dva rovnocenné vstupné body bez nej.

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