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.
Sentry
Sentry pomáhá sledovat chyby a výkonnost aplikace tak, aby produkční problém nezůstal jen řádkem někde v logu. Ukazuje kontext výjimky, dotčené uživatele, release, prostředí i opakování chyb, takže se dá rychleji rozhodnout, co je opravdu kritické. Největší přínos má ve chvíli, kdy se chyby aktivně třídí a řeší, ne jen pasivně sbírají.
Rector
Rector beru jako nástroj pro chvíle, kdy už ruční refaktoring přestává dávat ekonomický smysl. Umí projít PHP codebase, navrhnout mechanické úpravy a pomoct s upgrady jazyka i frameworků bez toho, aby se člověk ztratil v tisících drobných změn. Největší hodnotu má ve chvíli, kdy je součástí kontrolovaného procesu, ne slepého automatického přepisování.
Laravel Jetstream
Laravel Jetstream je startovací sada pro Laravel aplikace, které potřebují hotový základ kolem přihlášení, registrace, profilu, dvoufaktorového ověření, správy relací a případně týmů. Největší smysl dává tehdy, když nechcete znovu stavět běžnou aplikační infrastrukturu, ale zároveň chcete zůstat v Laravel ekosystému a mít nad výsledkem kontrolu.
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.