Laravel Sanctum
Laravel Sanctum je lehčí autentizační řešení pro Laravel aplikace, které potřebují chránit SPA, mobilní aplikace nebo jednoduchá tokenová API. Jeho síla není v tom, že by nahrazoval OAuth pro každý scénář, ale v praktičnosti: umí session autentizaci pro first-party SPA a zároveň osobní API tokeny s abilities pro jednodušší integrace.
Laravel Sanctum je nástroj, který mám rád hlavně pro jeho pragmatismus. Ne každá aplikace potřebuje plné OAuth řešení, autorizační server a složitý tok kolem klientů. Často potřebujete jen bezpečně přihlásit vlastní SPA, mobilní aplikaci nebo umožnit uživateli vytvořit osobní API token pro jednoduchou integraci.
Sanctum řeší právě tyto běžné případy. Na jedné straně umí tokenovou autentizaci přes personal access tokeny, na druhé straně nabízí session autentizaci pro first-party SPA. Důležité je vědět, který z těchto režimů pro daný projekt používáte, protože každý řeší jiný problém.
SPA bez zbytečných tokenů
U vlastní SPA, která patří ke stejné aplikaci nebo ke stejnému ekosystému, Sanctum typicky nepoužívá bearer tokeny uložené ve frontendu. Staví na Laravel session autentizaci, cookies a CSRF ochraně. To je dobrá zpráva, protože tokeny ve frontendu bývají zbytečně rizikové, pokud nejsou opravdu potřeba.
V praxi to znamená, že aplikace může mít moderní frontend a zároveň se opírat o známé Laravel mechanismy. Není nutné kvůli každému SPA projektu automaticky sahat po OAuth. Pokud jde o vlastní klientskou část aplikace, session přístup může být jednodušší a bezpečnější.
API tokeny pro jednoduché integrace
Druhá část Sanctum je správa API tokenů. Uživatel může získat token, který posílá v Authorization hlavičce jako bearer token. Tokeny mohou mít abilities, tedy omezení toho, co smějí dělat. To se hodí pro osobní přístupy, interní skripty, jednoduché integrace nebo administrační nástroje.
Tady je důležité nepřeceňovat jednoduchost. Token je pořád přístupový klíč k aplikaci. Má mít jasný účel, rozumná oprávnění, možnost revokace a u citlivějších projektů i dobře promyšlenou expiraci. Sanctum poskytne mechanismus, ale bezpečnostní pravidla musí navrhnout vývojář.
Kdy Sanctum stačí
Sanctum dává smysl u aplikací, které nepotřebují plný OAuth ekosystém. Pokud řešíte vlastní SPA, mobilní aplikaci nebo jednoduché API tokeny pro uživatele, je často přímočařejší než robustnější řešení. Přidá přesně tolik infrastruktury, kolik je pro běžný projekt potřeba.
Pokud ale stavíte veřejnou platformu pro třetí strany, potřebujete složité OAuth granty, externí klienty a detailní správu aplikací, Sanctum už nemusí být správná volba. V takové chvíli je lepší sáhnout po nástroji, který je pro plnohodnotný OAuth navržený.
Na co si dát pozor
Nejčastější problém u Sanctum je nejasnost v tom, jaký režim autentizace se vlastně používá. SPA autentizace a API tokeny nejsou totéž. Když se tyto světy zamíchají bez jasného návrhu, vznikají problémy s CORS, cookies, CSRF ochranou nebo zbytečně vystavenými tokeny.
Když se použije správně, je Sanctum velmi praktický. Umožňuje zůstat u jednoduchého Laravel řešení, které pokryje velkou část běžných potřeb. Není to univerzální bezpečnostní vrstva pro všechno, ale pro first-party SPA a jednoduché tokeny je to často přesně ten správný poměr mezi jednoduchostí a kontrolou.
hub Související nástroje
Prozkoumejte podobné nástroje
Náhodný výběr nástrojů ze stejné kategorie.
Spatie
Spatie je známé hlavně díky dlouhodobě udržovaným PHP a Laravel balíčkům. V praxi je beru jako zdroj ověřených řešení pro opakující se problémy: oprávnění, média, activity log, zálohy, data objekty, webhooks a další části aplikací. Největší hodnota není v tom nainstalovat všechno, ale umět vybrat balíček, který opravdu zjednoduší projekt.
Laravel Sail
Laravel Sail je oficiální Docker vývojové prostředí pro Laravel. Pomáhá rozběhnout aplikaci, databázi, cache a další služby bez ruční instalace celého stacku na počítači vývojáře. Největší smysl dává tam, kde chcete rychlý start projektu a konzistentní lokální prostředí napříč týmem.
Larastan
Larastan používám jako způsob, jak dostat do Laravel projektu statickou analýzu, která rozumí Eloquentu, facades i dynamickým částem frameworku. Nejde o nástroj, který by nahradil testy nebo review, ale umí včas upozornit na typové chyby, špatné návratové hodnoty a drobné problémy, které by jinak vyšly najevo až za běhu aplikace.
add_circle Chybí tu nástroj?
Navrhněte nástroj do výpisu
Pokud jste nenašli užitečný nástroj, pošlete mi jeho název a URL. Zkontroluji ho a případně doplním do veřejného katalogu.