Saltar al contenido

Ejemplo CRUD de API Rest de Laravel 7.x con autenticación JWT

13 de febrero de 2020

Hola artesano

En este tutorial voy a discutir sobre un tema nuevo que es jwt auth laravel 6. En este tutorial veremos cómo crear una api relajante con json web token (jwt). JWT (JSON Web Token) se usa generalmente para enviar información que puede ser confiable y verificada usando una firma digital.

En este tutorial, exploraremos las formas en que puede construir y probar una API robusta usando Laravel y JWT. En el primer tutorial hice un tutorial al respecto. Pero esto estaba usando el pasaporte laravel.

En esta lección crearemos un sistema de inicio de sesión, registro y crud completo con autenticación JWT con Laravel 6. También usaremos jwt middleware laravel.

En las API RESTful, utilizamos los verbos HTTP como acciones y los puntos finales son los recursos sobre los que se actúa. Usaremos los verbos HTTP por su significado semántico:

Ahora comencemos a construir una API robusta y relajante en Laravel usando la autenticación JWT. JWT son las siglas de JSON Web Tokens. También le mostraré un CRUD completamente funcional para productos de usuario que usan API.

En este tutorial de autenticación de Laravel JWT vamos a hacer este tipo de API usando JWT. Solo tiene que seguir algunos pasos para obtener los siguientes servicios web.

Comencemos a construir nuestra Rest Api usando la autenticación JWT.

Paso 1: instala Laravel

Voy a explicar paso a paso desde cero, por lo que necesitamos obtener una nueva aplicación Laravel 6 usando el comando a continuación

Paso 2: Instale el paquete tymondesigns / jwt-auth

Ahora, instale el paquete jwtauth de terceros escribiendo el siguiente comando.

Instalará el paquete en el vendedor carpeta y nuestro composer.json El archivo se actualizará. Ahora ve al config / app.php archivo y agregue lo siguiente.

config / app.php

Para publicar el archivo de configuración en Laravel, debe ejecutar la siguiente línea de código:

Paso 3: Genere la clave JWT

Los tokens JWT se firmarán con una clave de cifrado. Ejecute el siguiente comando para generar la clave jwt.

Si encuentra un error como este después de presionar el comando anterior.

ReflectionException: el método Tymon JWTAuth Commands JWTGenerateCommand :: handle () no existe

luego abre JWTGenerateCommand.php Archivo y pegue el siguiente código, espero que funcione.

proveedor / tymon / src / Commands / JWTGenerateCommand.php

Paso 4: Registro de middleware

El paquete de autenticación JWT incluye middlewares que podemos usar. Registrarse auth.jwt middleware en

aplicación / Http / Kernel.php

Este middleware verifica que el usuario esté autenticado al verificar el token enviado con la solicitud. Si el usuario no está autenticado, el middleware arrojará UnauthorizedHttpException excepción.

Paso 5: crea rutas de API

Ahora necesitamos crear nuestra ruta. pegue el siguiente código en esta ruta

rutas / api.php

Paso 5: actualizar el modelo de usuario

Ahora abra el modelo de usuario y pegue el siguiente código para realizar cambios. Como también vamos a hacer un sistema de crud de productos, necesitamos establecer una relación entre el usuario y el producto.

Escribamos la lógica para una API tranquila en laravel usando la autenticación JWT. Necesitamos validar los datos de nuestra solicitud. Así que ejecute el siguiente comando para hacer una solicitud de registro.

Después de ejecutar este comando, simplemente abra este archivo en el siguiente directorio y pegue el siguiente código.

aplicación / Http / Requests / RegisterAuthRequest.php

Paso 6: crear controlador

Ahora tenemos que crear nuestro controlador. Así que ejecuta debajo del comando

Ahora abra este ApiController y pegue este código a continuación

aplicación / Http / Controllers / ApiController.php

Paso 7: crear modelo de producto

Ahora tenemos que crear nuestro modelo de producto y la migración para probar nuestro crud con json web token (JWT). Así que ejecuta el comando debajo para crearlo

Creará un nuevo archivo de migración de base de datos. create_products_table.php en base de datos / migraciones directorio. Ábrelo y pega este código

Ahora ejecute el comando migrate para crear la migración del producto y luego abra el modelo del producto

app / Product.php

Ahora ve a ProductController.php file y pega el siguiente código. Aquí haremos toda la parte de crud para crear y probar rest api con jwt en laravel.

aplicación / Http / Controllers / ProductController.php

Ahora todo está hecho. Podemos comprobarlo ahora. Así que ejecute el siguiente comando para iniciar nuestro servidor y realice un recorrido para probarlo con cartero.

Para probar las API de descanso, usaré Postman. Intentemos verificar nuestra api de descanso con la aplicación json web token (jwt).

Vista previa: datos de usuario registrados

Ahora, probaremos la api de detalles, en esta api debe configurar tres encabezados como se indica a continuación:

Por lo tanto, asegúrese de que el encabezado anterior, de lo contrario no podrá obtener los detalles del usuario.

Vista previa: Ruta del producto de la tienda

Vista previa: ruta de producto único

Vista previa: Ruta de todos los detalles del producto

Vista previa: actualizar la ruta del producto

Vista previa: eliminar ruta de producto

Vista previa: ruta de cierre de sesión del usuario

Espero que este tutorial te ayude a aprender cómo realizar la autenticación de API usando jwt. Entonces, en este tutorial de autenticación de laravel jwt, si encuentra algún error, puede verificar mi repositorio de git.

Este contenido se publicó originalmente aquí.