Ventajas de usar pasaporte Laravel:
El protocolo OAuth2 se puede integrar con la aplicación Laravel utilizando la contraseña de Laravel. Cuando el usuario desea recuperar o insertar datos de la aplicación, la solicitud de acceso será enviada por este protocolo. El permiso se le dará al usuario autorizando al usuario para acceder. Algunos beneficios importantes de la autenticación de pasaporte se mencionan a continuación.
Requisitos previos:
Debe hacer la siguiente tarea antes de instalar y usar el pasaporte de Laravel para la autenticación del usuario.
Instalar pasaporte Laravel:
Ejecute el siguiente comando desde el terminal para instalar el paquete de pasaporte Laravel usando el compositor.
$ compositor requiere laravel/pasaporte
Necesitará crear el usuarios tabla en la base de datos antes de instalar el paquete de pasaporte. Tres archivos de migración y un Usuario El modelo se ha generado automáticamente cuando se crea un nuevo proyecto de Laravel. Uno de ellos se usa para crear un usuarios mesa. Vaya a la carpeta del proyecto Laravel y ejecute el siguiente comando de migración para crear el usuarios mesa.
$ PHP Artisan MigrateEjecute el siguiente comando para instalar el paquete de pasaporte para el proyecto.
$ PHP Pasaporte artesanal: instalarObtendrá la siguiente información después de instalar Laravel Passport con éxito en su proyecto. Aquí, se generan dos claves secretas. Uno para cliente de acceso personal y otro para Password Grant Client.
Configuración de pasaporte de Laravel:
Abre el Usuario modelo que se encuentra en la ubicación, Aplicación \ modelo.php de un editor y modifique el modelo como a continuación. Agregar Laravel \ pasaporte \ hasapitokens Al comienzo de la clase y use Hasapitokens y notificable dentro de la clase.
aplicación de espacio de nombres;A continuación, abra APP/Providers/AuthserviceProvider.php Para registrar las rutas necesarias para emitir y revocar los tokens de acceso. El método de pasaporte :: rutas se llama dentro del método de arranque de AuthserviceProvider. Modifique el contenido del archivo que se muestra a continuación.
Aplicación de espacio de nombres \ Proveedores;A continuación, abra config \ app.php e inserte la siguiente línea en el proveedores matriz para incluir la clase necesaria para usar el pasaporte de Laravel.
Laravel \ Passport \ PassportServiceProvider :: Clase,A continuación, abra config \ auth.php y configure el controlador de API en pasaporte en el guardia Matriz que se muestra a continuación.
'Guardias' => [Implementar el controlador para el registro y la autenticación:
Debe crear un controlador para implementar el sistema de autenticación utilizando el paquete de pasaporte. Ejecute el siguiente comando desde la carpeta raíz del proyecto para crear Apicontrolador.
$ PHP Artisan Make: Controller ApicontrollerEn la siguiente parte de este tutorial, se agregan tres métodos dentro del Apicontrolador Para crear un nuevo usuario, autenticar a un usuario y obtener la información detallada de un usuario autenticado.
A. Registro
Se puede crear un nuevo usuario en el usuarios tabla implementando un registro() método. Agregue el siguiente código dentro del Apicontrolador Para implementar la API de registro. El argumento recupera los valores de campo necesarios para crear un nuevo usuario, $ solicitud del método registro(). Validador La clase se usa para verificar que los valores de campo son válidos o no en función de las reglas de validación definidas. Si el falla () El método devuelve verdadero y luego devolverá un mensaje de error en formato JSON. Si el falla () El método devuelve falso y luego se generará una contraseña hash y se insertará la nueva información del usuario en la tabla de usuarios. Se generará un token después de crear el nuevo usuario y se devolverá un mensaje de éxito con el valor del token.
Registro de funciones públicas (solicitud $ solicitud)B. Acceso:
Cualquier usuario puede ser autenticado implementando el inicio de sesión () método. Agregue el siguiente código adentro Apicontrolador para implementar una API de inicio de sesión. Los campos requeridos para autenticar a un usuario se recuperan del $ solicitud de el inicio de sesión () método. intentar() El método verificará los valores de correo electrónico y contraseña para la autenticación. Si los valores coinciden con los valores del usuarios Tabla, entonces se recuperará el registro de ese usuario en particular y se devolverá un valor de token. Si la autenticación falla, entonces un No autorizado Se devolverá el mensaje.
Iniciar sesión de la función pública (solicitud $ solicitud)C. Detalle del usuario
Puede obtener la información detallada de cualquier usuario después de la autenticación implementando API de usuario. Agregue el siguiente código al Apicontrolador Para recuperar la información detallada de cualquier usuario autenticado.
función pública user_info ()Ruta API para el controlador:
Abre el Rutas \ App.php Archivo y modifique el contenido con los siguientes códigos para definir la ruta de inicio de sesión, la ruta de registro y la ruta de detalles para los servicios API.
/** Ruta para API de inicio de sesión*/Ejecute el siguiente comando para iniciar el servidor de desarrollo de Laravel.
$ Php Artisan ServirPrueba de autenticación API usando Postman:
Postman es una herramienta muy útil para probar API RESTful. La solicitud HTTP se puede generar muy fácilmente para probar las funcionalidades de API utilizando la interfaz de usuario de esta aplicación sin escribir una gran cantidad de código para enviar solicitudes. Postman puede manejar varias solicitudes y utilidades HTTP para desarrollar API. Tiene versiones pagadas y gratuitas para Linux.
Instale el agente de postman:
Ejecute el siguiente comando desde el terminal para instalar un agente postman en Ubuntu.
$ sudo snap instalación de instalaciónAbra la aplicación después de la instalación. La siguiente interfaz aparecerá después de abrir la nueva ventana del cartero.
API de registro de prueba:
Clickea en el crear una solicitud Enlace para abrir la ventana de solicitud. El servidor de desarrollo de Laravel se ejecuta en el puerto 8000 Por defecto que se usa aquí. Si está utilizando un puerto diferente, debe modificar el número de puerto en su URL. El método de publicación se selecciona del desplegable y la siguiente URL se usa para enviar una solicitud de API para la API de registro.
http: // localhost: 8000/API/Registrarse
Tres campos se definen como campos obligatorios para el usuarios tabla para crear un nuevo usuario. Estos son nombre, correo electrónico, y contraseña. Establezca tres teclas y valores para estos campos que se muestran a continuación y haga clic en el enviar botón. El registro() método de Apicontrolador se llamará de acuerdo con la ruta si la solicitud se envía correctamente.
La siguiente respuesta aparecerá si el nuevo registro de usuario se inserta con éxito en el usuarios mesa. El código de respuesta, 200 indica que la solicitud HTTP fue exitosa y se genera un token después de insertar el nuevo usuario que se muestra en el cuerpo de respuesta en formato JSON.
API de inicio de sesión de prueba:
Selecciona el CORREO método como el Registrar API que se muestra antes. Establezca la siguiente URL en la barra de direcciones para enviar una solicitud API de API de inicio de sesión.
http: // localhost: 8000/api/inicio de sesión
Dos campos son obligatorios para autenticar a cualquier usuario basado en los registros del usuarios mesa. Estos son correo electrónico y contraseña. Establezca dos teclas y valores para estos campos que se muestran a continuación y haga clic en el enviar botón. El acceso() método de Apicontrolador se llamará de acuerdo con la ruta si la solicitud se envía correctamente.
La siguiente respuesta aparecerá si el usuario se autentica correctamente en función de los registros del usuarios mesa. El código de respuesta, 200 indica que la solicitud HTTP fue exitosa. El valor del token se genera después de autenticar al usuario y devuelve el cuerpo de respuesta en formato JSON.
Obtendrá el siguiente cuerpo de respuesta cuando se proporcionen las credenciales incorrectas para autenticar al usuario. 401 El código de error se genera aquí para indicar acceso no autorizado.
Pruebe la API de detalles del usuario:
Se requieren que algunos parámetros del encabezado se configuren antes de enviar la solicitud de detalles API. Clickea en el encabezado pestaña de la sección de solicitud y agregue tres valores de encabezado para identificar al usuario autenticado. El valor del token se copia del cuerpo de respuesta y se establece para el valor de autorización.
Aceptar: solicitud/JSONLa sección de encabezados de la parte de solicitud se verá como la siguiente imagen. Debe establecer su valor de token que se genere en el cuerpo de respuesta de su agente de postman.
A continuación, haga clic en el Autorización pestaña de la sección de solicitud y seleccionar Token de portador Como tipo de autorización del Tipo desplegable.
Ahora, seleccione el CORREO método, establezca la siguiente URL en la barra de direcciones. Llamará al Información de usuario() método de Apicontrolador que recuperará la información detallada del usuario autenticado.
http: // localhost: 8000/api/detallesSi el valor del token y la información del encabezado se proporcionan correctamente, los detalles de ese usuario se devolverán como un cuerpo de respuesta en formato JSON como la siguiente imagen.
Tutorial de video
Conclusión:
La autenticación del pasaporte está utilizando en muchos sitios web de Laravel ahora para sus funciones útiles. Hace que el sistema de autenticación de Laravel sea más seguro que la autenticación predeterminada y proporciona otros servicios que no están disponibles en la autenticación predeterminada. Los usos básicos del pasaporte de Laravel con el proceso de instalación y configuración se describen correctamente en este tutorial. El uso del agente postman también se muestra aquí para probar la API. Espero que el lector comprenda las funcionalidades del paquete de pasaporte después de leer este tutorial.