Inertia übernimmt die Benutzerauthentifizierung mit Laravel, indem es die integrierten Authentifizierungsfunktionen von Laravel nutzt und sie erweitert, um nahtlos mit der Single-Page-Application-Architektur (SPA) von Inertia zusammenzuarbeiten. Hier die wichtigsten Punkte:
1. Verwendung der Standardauthentifizierung von Laravel:
- Inertia verwendet die standardmäßige sitzungsbasierte Authentifizierung von Laravel, was bedeutet, dass Benutzer mithilfe der integrierten Authentifizierungsmechanismen von Laravel authentifiziert werden.
– Durch diesen Ansatz entfällt die Notwendigkeit, eine separate API für die Authentifizierung zu erstellen, da Inertia direkt mit dem Authentifizierungssystem von Laravel interagieren kann[1][2][3].
2. Freigabe des authentifizierten Benutzers:
- Die „Share“-Methode von Inertia wird verwendet, um den authentifizierten Benutzer mit dem Frontend zu teilen. Dadurch kann das Frontend auf das Benutzerobjekt zugreifen und es für Berechtigungsprüfungen verwenden[2].
3. Autorisierungsprüfungen:
- Berechtigungsprüfungen werden im Frontend mithilfe des von Inertia gemeinsam genutzten Benutzerobjekts durchgeführt. Dadurch wird sichergestellt, dass das Frontend Inhalte basierend auf den Berechtigungen des Benutzers dynamisch anzeigen oder ausblenden kann[2].
4. Daten transformieren:
- Die Datentransformation ist für Berechtigungsprüfungen von entscheidender Bedeutung. Die „Share“-Methode von Inertia kann verwendet werden, um Daten zu transformieren, bevor sie das Frontend erreichen, was die Handhabung komplexer Autorisierungsanforderungen erleichtert[2].
5. Starter-Kits:
– Laravel bietet Starter-Kits wie Laravel Breeze und Laravel Jetstream, die schön gestaltete Ausgangspunkte für die Integration der Authentifizierung in Ihre neue Laravel-Anwendung bieten. Diese Kits umfassen Gerüstoptionen auf Basis von Livewire oder Inertia, sodass Sie die Authentifizierung problemlos in Ihre Inertia-Anwendung integrieren können[4].
Durch die Nutzung dieser Funktionen bietet Inertia eine nahtlose und effiziente Möglichkeit zur Benutzerauthentifizierung mit Laravel, sodass sich Entwickler auf die Entwicklung ihrer Anwendung konzentrieren können, ohne sich um die Feinheiten der Authentifizierung und Autorisierung kümmern zu müssen.
Zitate:[1] https://atlas.dev/blog/using-inertia-with-laravel-in-2024
[2] https://sebastiandedeyne.com/handling-authorization-in-a-laravel-and-inertia-application
[3] https://github.com/inertiajs/inertia-laravel/issues/21
[4] https://laravel.com/docs/11.x/authentication
[5] https://stackoverflow.com/questions/66080777/laravel-inertia-js-and-vue-check-if-user-is-logged-in