Estoy creando una aplicación que requiere autenticación de usuario.
(Hasta ahora, siempre he creado aplicaciones monolíticas. Este es mi primer intento de crear un backend que esté completamente desacoplado del front-end).
El backend es una API de Laravel y el frontend será una aplicación React en un repositorio independiente.
¿Debería haber usado Laravel Passport en lugar de Laravel Breeze o se supone que deben usarse juntos? Nunca he usado el primero.
¿Debería refactorizar mi proyecto y eliminar todo el código de Breeze para usar Passport en su lugar?
Laravel Breeze no está diseñado para usarse con API listas para usar. Eso no quiere decir que no pueda ser, hay un paquete de API de brisa disponible que proporciona todas las funciones de autenticación repetitivas proporcionadas por Breeze para trabajar con las API.
Passport es un proveedor completo de autenticación de flujo de trabajo de OAuth y posiblemente sea más complicado de lo que necesita si solo está buscando proporcionar autenticación para su aplicación móvil o SPA de primera parte (su propia). Si no necesita OAuth, es más probable que Laravel Sanctum sea una mejor opción para usted que Passport.
Deberías usar Laravel Sanctum para esto. Laravel Brisa es una función de autenticación básica.
Elimina Laravel Breeze e instala Laravel Sanctum y Laravel Fortify.
Si su aplicación se ejecuta en el mismo dominio o en un subdominio, Sanctum utilizará la protección de autenticación web de Laravel (autenticación basada en cookies de sesión).
De lo contrario, Sanctum buscará un token válido en su encabezado de autorización.
Fortify implementará todas las funciones de autenticación de Laravel. De esta manera, tiene todos sus puntos finales para iniciar sesión, registrarse, restablecer la contraseña, etc. configurados. Puede personalizar fácilmente esos métodos y sus respuestas.