Balík spúšťa päť synchrónnych udalostí v RoundlyConsulting\Passkeys\Events. Každá nesie cez model Passkey len bezpečné identifikátory — nikdy kľúčový materiál:
| Udalosť | Obsah | Kedy sa spustí |
|---|---|---|
PasskeyRegistered | $passkey | Registrácia prešla overením a kľúč sa uložil. |
PasskeyAuthenticated | $passkey | Podpis pri prihlásení sa úspešne overil. |
PasskeySignCountRegressed | $passkey, $stored, $received | Počítadlo sa neposunulo a sign_count_policy je flag. |
PasskeyRevoked | $passkey | Po tom, čo revoke() zmazal kľúč cez soft delete. |
PasskeyRenamed | $passkey, $previousName | Po tom, čo rename() uložil nový názov. |
Počúvajte ich bežným spôsobom Laravelu:
use Illuminate\Support\Facades\Event;
use RoundlyConsulting\Passkeys\Events\PasskeyAuthenticated;
use RoundlyConsulting\Passkeys\Events\PasskeyRenamed;
use RoundlyConsulting\Passkeys\Events\PasskeyRevoked;
use RoundlyConsulting\Passkeys\Events\PasskeySignCountRegressed;
Event::listen(function (PasskeyAuthenticated $event): void {
$user = $event->passkey->authenticatable;
// audit-log a successful passkey sign-in
});
Event::listen(function (PasskeySignCountRegressed $event): void {
// possible cloned authenticator — alert / lock / require re-enrolment
logger()->warning('Passkey counter regressed', [
'passkey' => $event->passkey->id,
'stored' => $event->stored,
'received' => $event->received,
]);
});
Event::listen(function (PasskeyRevoked $event): void {
// e.g. end sessions established with this credential, notify the owner
});
Event::listen(function (PasskeyRenamed $event): void {
// audit: $event->previousName → $event->passkey->name
});PasskeySignCountRegressed sa spustí len pri politike flag; pri reject pokles počítadla namiesto toho vyhodí SignCountRegression. Uložená hodnota počítadla sa nikdy nezníži, takže klonovaný autentifikátor sa označí pri každom svojom podpise, nielen pri prvom. Passkeys::fake() spúšťa aj PasskeyRevoked a PasskeyRenamed, takže listenery zostávajú testovateľné.
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.