Všetky balíky
Auth for Laravel
Bezpečnosť
Každú vlastnosť nižšie pokrýva test v testoch balíka.
- Enumerácia — verejné endpointy odpovedajú pre známe, neznáme, deaktivované aj neoverené účty rovnako (status aj telo); e-maily idú len skutočným aktívnym účtom, a to po odpovedi. Kontrola hesla prebehne vždy, pri neznámych účtoch voči fiktívnemu hashu s rovnakou náročnosťou. Zariadenie sa stane známym len po dokončenom prihlásení — nie po odkaze na obnovu či prihlásenie vyžiadanom zo zariadenia ani po opätovnom overení (možno ukradnutým) prístupovým tokenom.
- Izolácia guardov — token, odkaz, kód, pozvánka, výzva ani passkey jedného guardu nikdy nefungujú na inom.
- Jednorazovosť — každé uplatnenie je podmienený update; výzvy postupujú s optimistickou kontrolou verzie a uchovávajú snímku verzie tokenu účtu.
- Invalidácia — tv++ zneplatní všetky existujúce prístupové tokeny; rodiny relácií sa zrušia a obnova zneplatní predošlý prístupový token relácie, takže zrušenie relácie zneplatní všetky tokeny, ktoré vydala; nevyužité odkazy na prihlásenie, obnovu, opätovné overenie a zmenu e-mailu zaniknú s nimi; denylist jti je poistka navyše.
- Obmedzovanie pokusov — pokusy sa započítajú atomicky ešte pred overením hesla či kódu — limity prihlásenia, e-mailov a opätovného overenia, e-mailové kódy aj vlastné max_attempts každej výzvy — takže nával súbežných pokusov nemôže limit obísť.
- Dodatočné overenie pri riziku — require_second_factor platí pre každý spôsob prihlásenia, aj pri after_email_login = false; účet bez faktora na dodatočné overenie sa zamietne. Prihlásenie passkey, ktoré sa počíta ako MFA (passkeys.satisfies_mfa), už dodatočným overením je.
- Opätovné overenie — účty s druhým faktorom sa musia overiť ním; dôkaz heslom či e-mailovým kódom ani prihlásenie, ktoré faktor preskočilo, im bránu nikdy nesplní — ani keď si faktor nastavili až po tomto dôkaze. reauthentication.methods sa overuje voči faktoru, ktorý sa skutočne zhodoval.
- Tajomstvá v úložisku — HMAC-SHA-256 s kľúčom odvodeným z APP_KEY (alebo hash_key); otvorená podoba existuje len v odpovedi alebo notifikácii.
- Obnova účtu — ochrana posledného prihlasovacieho údaja, vynútené nastavenie faktora len pre overené adresy, zmena e-mailu overená a dvakrát oznámená, obnova hesla nikdy neobíde nastavený druhý faktor a registrácia nikdy nepreskočí povinné nastavenie dvojfaktora.
- Prenos — Cache-Control: no-store na každej odpovedi balíka, šifrované frontované notifikácie a tajomstvá vo fragmentoch URL.
Známe obmedzenia
- Denylist je v cache — jej vyprázdnenie oživí zrušené, ešte platné prístupové tokeny až do ich expirácie. Invalidácie pokrýva verzia tokenu; zvyšok ohraničí krátke access_ttl.
- Vynútené nastavenie faktora — útočník, ktorý pozná len heslo, by si v režime required mohol nastaviť vlastný faktor; zmierňuje to podmienka overenej adresy a notifikácie a výzva, ktorej krok nastavenia zastaral (faktor si medzitým nastavili), sa ukončí.
- Registrácia s okamžitým vydaním tokenov prezradí obsadenú adresu — použite režimy odolné voči enumerácii.
- Jedna relying party pre passkeys všetkých guardov a jeden typ kľúča pre všetky modely guardov.
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.