Open source
Passkeys for Laravel
composer require roundly-consulting/passkeys-for-laravelPrehľad
Natívna WebAuthn / FIDO2 relying party pre prístupové kľúče (passkeys) v Laraveli. Pripraví možnosti, ktoré prehliadač potrebuje, overí podpísané odpovede, ktoré sa vrátia, a uloží každý kľúč k správnemu používateľovi — podľa ceremónií WebAuthn Level 2, s kľúčmi ES256, RS256 aj EdDSA. Balík je zámerne bez controllerov: routy, UI, obmedzovanie pokusov a vydávanie session či tokenov zostávajú vo vašej aplikácii. Licencia MIT a žiadna kryptografia tretích strán — kryptografiu zabezpečuje náš vlastný balík crypto-for-laravel.
Čo získate
Fasáda, DI alebo akcie
Ceremónie na dve volania fasády Passkeys — alebo si injektujte PasskeyService, prípadne spúšťajte jednoúčelové akcie priamo.
Bez mena aj ako druhý faktor
Predvolene prihlásenie bez zadania mena; možnosti viazané na používateľa a očakávania vlastníka pre step-up a viac guardov.
Žiadna kryptografia tretích strán
ES256, RS256 a voliteľne EdDSA overované cez náš vlastný crypto-for-laravel — žiadna externá WebAuthn knižnica.
Rebríček dôvery atestácie
ignore, self alebo basic — formáty packed a Apple, pribalené korene Apple a Google, allowlist AAGUID. Konfigurácia, nie kód.
Bezpečné od základu
Jednorazové challenge viazané na ceremóniu, kontrola originu a RP ID, počítadlo podpisov len dopredu na detekciu klonov a žiadna enumerácia používateľov.
Správa s kontrolou vlastníctva
Passkeys::for($user) vypíše, premenuje a odvolá len kľúče daného účtu — k tomu bezpečný PasskeyResource a udalosti na audit.
Testovanie v cene
Zaznamenávajúci Passkeys::fake() s aserciami pre každú ceremóniu a softvérový VirtualAuthenticator na skutočné end-to-end testy.
Dokumentácia
Inštalácia
Inštalácia cez Composer, publikovanie a spustenie migrácií, potom nastavenie ID relying party a povolených originov.
Konfigurácia
Každý konfiguračný kľúč s env premennou a predvolenou hodnotou — relying party, originy, algoritmy, challenge, atestácia a používateľ.
Model používateľa
Pridajte stĺpec s nepriehľadným identifikátorom, implementujte HasPasskeys cez trait InteractsWithPasskeys a spúšťajte ceremónie priamo z modelu.
Fasáda Passkeys
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.
DI a akcie
Injektujte PasskeyService a získate rovnaké API bez statických volaní, alebo z dôveryhodného kódu spustite jednoúčelovú akciu ceremónie.
Registrácia
Pripravte možnosti pre navigator.credentials.create(), overte atestačnú odpoveď a uložte prístupový kľúč s vlastným názvom.
Prihlásenie
Prihlásenie bez mena alebo viazané na používateľa — pripravte možnosti, overte podpis a zo získaného kľúča spustite vlastnú session.
Druhý faktor a očakávaný vlastník
Vyžiadajte si kľúč konkrétneho účtu, vyžadujte overenie používateľa pre jeden krok a obmedzte prihlásenie na jeden typ vlastníka.
Správa prístupových kľúčov
Všetko pre obrazovku „Vaše prístupové kľúče“ — výpis, premenovanie a odvolanie kľúčov a ich bezpečná serializácia cez PasskeyResource.
Model Passkey a schéma
Polymorfný model Passkey so soft delete — scopes, casty, skryté atribúty, schéma tabuľky a použitie vlastného modelu.
Algoritmy a Ed25519
ES256 a RS256 hneď po inštalácii, Ed25519 (EdDSA) voliteľne s ext-sodium — a žiadny nepreverený algoritmus sa neakceptuje.
Atestácia
Overte, čím autentifikátor naozaj je — trojstupňový rebríček dôvery, formáty packed a Apple, pribalené korene a allowlist AAGUID.
Udalosti
Päť udalostí pre audit a riešenie anomálií — registrácia, prihlásenie, pokles počítadla, odvolanie a premenovanie kľúča.
Výnimky
Jeden základ PasskeyException s typovanými potomkami pre chyby ceremónie, konfigurácie, dekódovania a atestácie — s lokalizovateľnými hláseniami.
Enumy
Prehľad všetkých enumov — overenie používateľa, rezidentný kľúč, typ autentifikátora, atestácia, dôvera a politika počítadla.
Rozšírenie
Vymeňte úložisko challenge, pridajte formát atestácie, nahraďte politiku dôvery alebo implementujte HasPasskeys sami — cez väzby v kontajneri.
Bezpečnostný model
Čo relying party vynucuje pri každej ceremónii — challenge, originy, podpisy, počítadlá, enumerácia — a čo ponecháva na vás.
Testovanie
Zaznamenajte a overte ceremónie cez Passkeys::fake(), alebo spúšťajte skutočné ceremónie end-to-end so softvérovým VirtualAuthenticator.
Požiadavky
PHP 8.4+, Laravel 12 alebo 13 a ext-json — plus ext-sodium, len ak zapnete kľúče Ed25519.
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.