Inertia maneja la autenticación de usuarios con Laravel aprovechando las funciones de autenticación integradas de Laravel y ampliándolas para que funcionen perfectamente con la arquitectura de aplicación de página única (SPA) de Inertia. Aquí están los puntos principales:
1. Usando la autenticación predeterminada de Laravel:
- Inertia utiliza la autenticación basada en sesión predeterminada de Laravel, lo que significa que los usuarios se autentican utilizando los mecanismos de autenticación integrados de Laravel.
- Este enfoque elimina la necesidad de crear una API separada para la autenticación, ya que Inertia puede interactuar directamente con el sistema de autenticación de Laravel[1][2][3].
2. Compartir el usuario autenticado:
- El método "compartir" de Inertia se utiliza para compartir el usuario autenticado con el frontend. Esto permite que la interfaz acceda al objeto de usuario y lo utilice para comprobaciones de autorización[2].
3. Verificaciones de autorización:
- Las comprobaciones de autorización se realizan en el frontend utilizando el objeto de usuario compartido por Inertia. Esto garantiza que la interfaz pueda mostrar u ocultar contenido dinámicamente según los permisos del usuario[2].
4. Transformación de datos:
- La transformación de datos es crucial para los controles de autorización. El método "compartir" de Inertia se puede utilizar para transformar datos antes de que lleguen al frontend, lo que facilita el manejo de requisitos de autorización complejos[2].
5. Kits de inicio:
- Laravel proporciona kits de inicio como Laravel Breeze y Laravel Jetstream que ofrecen puntos de partida bellamente diseñados para incorporar la autenticación en su nueva aplicación Laravel. Estos kits incluyen opciones de andamiaje basadas en Livewire o Inertia, lo que facilita la integración de la autenticación con su aplicación Inertia[4].
Al aprovechar estas características, Inertia proporciona una forma fluida y eficiente de manejar la autenticación de usuarios con Laravel, lo que permite a los desarrolladores concentrarse en crear su aplicación sin preocuparse por las complejidades de la autenticación y la autorización.
Citas:[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