Este paquete proporciona un sistema de autenticación ligero para SPA (aplicaciones de una sola página), aplicaciones móviles y API simples basadas en tokens.
Se puede instalar Laravel Sanctum usando composer en la terminal:
composer require laravel/sanctum
Luego se puede publicar el archivo de configuración, ejecutando:
Esto va a crear un archivo llamado sanctum.php en la carpeta config.
Finalmente, para tener las tablas que se necesitan en la base de datos para guardar los tokens. se usan:
php artisan migrate
A continuación, si se planea utilizar Sanctum para autenticar un SPA, debe agregar el middleware de Sanctum a su grupo de middleware api dentro de su archivo app/Http/Kernel.php:
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;'api'=>[EnsureFrontendRequestsAreStateful::class,'throttle:60,1',\Illuminate\Routing\Middleware\SubstituteBindings::class,],
Para comenzar a emitir tokens a los usuarios, su mel modelo debe usar el trait HasApiTokens:
use Laravel\Sanctum\HasApiTokens;classUserextendsAuthenticatable{use HasApiTokens,Notifiable;}
Para proteger nuestras rutas es tan simple como agregar un middleware.
Con esto cada vez que ingresemos a esa ruta tendremos que enviar
Afortunadamente, la documentación de Laravel es bastante completa y dentro de ella podremos encontrar mas posibilidades que nos ofrece Sanctum: https://laravel.com/docs/8.x/sanctum
Genial! En Laravel 8 no cambia, recomiendo ejecutar un composer du después de instalar Sanctum para evitar problemas al publicar el archivo de configuración.
Les dejo el enlace del commit de esta clase a mi repositorio que estoy trabajando con Laravel 8 por si a alguien le sirve para comparar archivos:
Gracias
No estoy entendiendo bien, esto lo tengo que hacer sobre el proyecto que empezamos en el video anterior?.. o debo hacerlo sobre un proyecto nuevo?..
En Laravel 9 que es el que estoy usando, si usas Laravel installer este vive con sanctum out of the box o sea se instala por defecto, estaré siguiendo el curso desde Laravel 9 y dejaré las diferencias en la caja de comentarios
gracias barbaro,e res lo mejor
Alguien me puede explicar cual es el funcionamiento de
Veo en terminal que se copian archivos de la dependencia de sanctum a migraciones y config. Me parece que en otro curso con laravel 8x no hacian este paso, es un cambio importante de las versiones? (estoy trabajando con laravel 7x)
Hola, lo que hace ese comando es que publica o copia los archivos que necesita el paquete de sanctum a tu proyecto como tal. ya que el necesita crear unas tablas para el almacenamiento de los token y en la carpeta config el archivo con el cual configura las rutas, tiempos, etc.
Esta funcionalidad viene desde laravel 5.X y muchos paquetes que necesitan utilizar desde la raiz del proyecto X archivos o crear migraciones, seeds, etc, esta es la mejor forma de hacerlo.
¡Hola! Si utilizas Laravel 10 par realizar este curso, puedes aplicar la modificación de Kernel.php de esta manera.
estoy siguiendo el curso con laravel 10 y configurando mi propio entorno, el avance es extremadamente lento, entiendo que el curso este enfocado en laravel, pero la información referente a que debería tener el entorno es muy vaga,
Por que nos recomiendas documentacion de SANCTUM con laravel 8 siendo que estamos usando la version recomendada de laravel 7?
estoy usando la version 8.75 de laravel y ya viene con sanctum instalado