![Laravel Sanctum](https://diegooo.com/wp-content/uploads/2021/08/r-algo-asi.jpg)
Corrigiendo un “error no autenticado” al usar Laravel Sanctum para SPA
Laravel Sanctum
Puede estar trabajando localmente con el proyecto Laravel; Scaffold una aplicación de front-end con React/Vue/Angular y al realizar solicitudes a rutas envueltas dentro del middleware auth: sanctum, es posible que obtenga un error no autenticado. Es por errores de configuración. Arreglemos esto.
- Asegúrese de que la aplicación laravel esté sirviendo desde localhost (127.0.0.1) haciendo el buen servidor
php artisan serve
. No utilice hosts virtuales porque no puede servir las aplicaciones de front-end desde el mismo host virtual.
- Verifique los números de puerto de su aplicación front-end. Por lo general, la aplicación React sirve en
http://localhost:3000
y la aplicación Vue sirve desdehttp://localhost:8080
.
- Es necesario que la (s) aplicación (es) front-end y la aplicación laravel sirvan desde el mismo dominio, localhost en nuestro caso.
- Establezca dominios con estado de Laravel Sanctum en el archivo .env. Estas son las direcciones de nuestras aplicaciones frontales, incluidos los números de puerto.
SANCTUM_STATEFUL_DOMAINS=localhost:8080,127.0.0.1:8080,localhost:3000,127.0.0.1:3000
- Configure el dominio de sesión en el archivo .env. Necesita cambiar esto en producción a su nombre de dominio.
SESSION_DOMAIN=localhost
- Establecer rutas y supports_credentails en cors.php Las rutas de web.php a las que desea tener acceso en su aplicación front-end deben agregarse a la matriz de rutas.
'paths' => ['api/*', 'login', 'register', 'otp/*', 'sanctum/csrf-cookie'],'supports_credentials' => true,
- Y finalmente, debe realizar solicitudes desde la aplicación de front-end a localhost/api/other-route pero no a 127.0.0.1/api/other-route usando axios.
Recent Post
valor predeterminado en migración Laravel
Cómo establecer el valor predeterminado en la migración de Laravel
AWS CodeGuru Profiler
La función sin servidor de AWS que probablemente no esté utilizando (todavía)