Autenticación por Token en Lumen

Ya vimos lo fácil que es comenzar un proyecto en Lumen el micro-framework de Laravel…

Hoy veremos como habilitar en lumen la autenticación basada en token, una funcionalidad muy importante a la hora de desarrollar API’s. Un token es un valor único que se asigna a cada usuario para acceder al sistema.

Lo primero que debemos hacer es configurar la base de datos en el archivo .env que se encuentra en la raíz de nuestro proyecto para crear las tablas y registros de ejemplo:

Debemos crear un nuevo campo “api_token” en la base de datos, para ello editamos el archivo base de las migraciones en la carpeta database/migrations:

Editamos el archivo database/factories/ModelFactory.php para asignar el valor aleatorio al campo api_token de cada usuario cuando sean creados con el seeder.

y modificamos el método run de /database/seeds/DatabaseSeeder.php para poder generar un usuario:

Luego solo ejecutamos la migración:

php artisan migrate — seed

Cuando se trabaja con REST API no podemos guardar la sesión de los usuarios, pero si se puede usar la autenticacion por token para autorizar o denegar el acceso a los datos.

En el archivo config/auth podemos configurar el tipo de autenticacion que deseamos usar por defecto para nuestra api.

Ahora creamos una ruta de prueba en app/Http/routes.php utilizando el middleware auth

Para la demostración podemos crear un controlador que nos devuelva un array formateado a json.

Tenemos que copiar el token almacenado en nuestra base de datos en la tabla users:

Por ultimos accedemos a nuestra ruta http://localhost/lumen-jwt/public/api/v1?api_token=KeU6b5tfq0wmIFCbVtFHEFlcofgZFyXJixbQY7HIR8kuRI3NsC

con esta url podemos ver los datos de nuestra REST API:

Espero que les haya gustado este tutorial y que les sirva de ayuda para empezar a desarrollar con este excelente framework.