Sobald eine Anwendung nicht nur aus Webseiten besteht, stellt sich die Frage, wie sich eine App oder ein fremdes System anmeldet. Sanctum ist die Antwort, die Laravel dafür mitliefert. Es vergibt Zugriffstoken, prüft sie bei jeder Anfrage und kann einzelne davon zurückziehen, wenn ein Gerät verloren geht.
Der zweite Anwendungsfall ist die eigene Oberfläche. Wenn Browser-Anwendung und Schnittstelle zur selben Anwendung gehören, arbeitet Sanctum mit der gewöhnlichen Sitzung weiter, statt für jeden Aufruf ein Token durchzureichen.
Warum die kleinere Lösung meistens die richtige ist
Die naheliegende Alternative heißt Passport und beherrscht OAuth 2.0 vollständig. Das ist der Standard, wenn fremde Anbieter Zugriff bekommen sollen. Es bringt aber eine Menge mit, das in den allermeisten Projekten nie gebraucht wird, und alles davon will verstanden und gepflegt werden.
Die Frage lautet deshalb nicht „welches ist besser“, sondern „wer soll sich hier eigentlich anmelden“. Bei einer eigenen App und einer eigenen Oberfläche ist Sanctum die passende Größe. Diese Entscheidung treffen wir zu Beginn eines Schnittstellenprojekts, siehe API- und Backend-Entwicklung.