Todas las Noticias en Películas, Avances de Películas y Reseñas.

Creación de autenticación de API con Laravel Passport

Introducción

API significa Interfaz de programación de aplicaciones. Es un código o interfaz en Java que permite una comunicación fluida entre software o programas, en este caso utilizando los mismos paquetes. Las API RESTful son fundamentales para los marcos de JavaScript modernos o para la creación de aplicaciones móviles. El usuario necesita tokens para la autorización o autenticación de la aplicación. En el caso del desarrollo de software, la API maneja los datos a través de solicitudes HTTP y gestiona las operaciones CRUD.

Laravel es una plataforma que hace que la creación de API sea extremadamente fácil. Al usar el pasaporte Laravel, uno puede asegurar rápidamente el backend de las aplicaciones al autenticar a los usuarios a través de la API. En el ecosistema API, uno no mantiene el estado de la sesión entre las solicitudes. Este artículo lo guiará paso a paso para brindar una capa adicional de seguridad a sus API de Laravel.

Pasaporte Laravel: ¿qué es?

En palabras simples, el pasaporte Laravel es un paquete de autenticación API y un servidor OAuth2. Es una plataforma que contiene una cantidad sustancial de códigos repetitivos para la autenticación de los usuarios. Para implementar los paquetes, incluidas las funciones para generar tokens, tablas de migración o autenticación de Middleware, solo es necesario ajustar algunas configuraciones básicas en la plataforma de pasaportes de Laravel. Las empresas de software tienen una demanda de personas con un amplio conocimiento de Laravel y esperan contratar desarrolladores de Laravel.

Requisitos:

  • COMPOSER: instalado globalmente para administrar dependencias
  • POSTMAN – para probar los puntos finales
  • Conocimientos básicos de construcción de aplicaciones.
Recomendado:  Revisión | Magia para la humanidad (Netflix original)

Instalación del pasaporte de Laravel:

  • Para la instalación de Laravel Passport, primero, debe ejecutar el mencionado.

dominio:

el compositor requiere laravel/pasaporte

  • Una vez que la instalación del paquete de pasaporte es exitosa, el siguiente paso es la migración del pasaporte para almacenar los tokens en tablas nuevas.

migración artesanal de php

  • Después de la migración de las tablas, ejecutar el siguiente comando lo instalará por completo.

php pasaporte artesanal: instalar

  • Código para la configuración del módulo de pasaporte; debe abrir el archivo app/Models/User.php para incluir el rasgo HasApiTokens en el modelo de usuario.

En el siguiente apartado configuraremos el controlador de rutas de autenticación del pasaporte.

  • Debe agregar el método Passport::routes en AuthServiceProvider para generar las rutas necesarias. Podemos especificar la fecha de caducidad predeterminada de por vida de los tokens de acceso personal que estamos emitiendo a los usuarios mediante la función boot().
  • Necesitamos configurar el pasaporte como el protector de autenticación API. Al modificar config/auth.php, de ahora en adelante, todas las aplicaciones pueden usar TokenGuard de Passport para autenticar todas las solicitudes de API entrantes.
  • Nuestro enfoque principal es garantizar que solo los usuarios autenticados puedan acceder a las rutas especificadas. Para centrarse en este aspecto, debe proteger los puntos finales /user y /logout y mantener los puntos finales /login y /signup accesibles públicamente.

A continuación, crearemos rutas agregando rutas en el archivo route/api.php.

También necesitamos crear un controlador API para la API REST en Laravel.

  • Para este propósito, necesitamos ejecutar el comando Artisan mencionado a continuación para crear un nuevo controlador.

🌕 creación artesanal de php: controlador ApiController.php

Recomendado:  Los análogos de las cartas de reunión para los artilugios de Batman

espacio de nombres App\Http\Controllers\Auth;

usar aplicación\usuario;
use App\Traits\ApiResponser;
utilice Illuminate\Http\Request;
usa Laravel\Pasaporte\Pasaporte;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Fachadas\Hash;

clase AuthController extiende controlador
{
usar ApiResponser;

inicio de sesión de función pública (Solicitud $ solicitud)
{
$attr = $this->validateLogin($request);

if (!Auth::attempt($attr)) {
return $this->error(‘Las credenciales no coinciden’, 401);
}

return $this->token($this->getPersonalAccessToken());
}

registro de función pública (Solicitud $ solicitud)
{
$attr = $this->validateSignup($request);

Usuario::crear([
‘name’ => $attr[‘name’],
‘correo’ => $atributo[’email’],
‘contraseña’ => Hash::make($atributo)[‘password’])
]);

Autorización::intento([’email’ => $attr[’email’]’contraseña’ => $atributo[‘password’]]);

return $this->token($this->getPersonalAccessToken(), ‘Creado por el usuario’, 201);
}

usuario de función pública ()
{
devuelve $esto->éxito(Auth::usuario());
}

cierre de sesión de la función pública ()
{
Autenticación::usuario()->token()->revocar();
return $this->success(‘Usuario cerrado’, 200);
}

función pública getPersonalAccessToken()
{
if (solicitud()->recordarme === ‘verdadero’)
Pasaporte::personalAccessTokensExpireIn(ahora()->addDays(15));

return Auth::usuario()->createToken(‘Token de acceso personal’);
}

función pública validarLogin($solicitud)
{
devolver $solicitud->validar([
’email’ => ‘required|string|email|max:255’,
‘password’ => ‘required|string|min:6’,
]);
}

función pública validarRegistro($solicitud)
{
devolver $solicitud->validar([
‘name’ => ‘required|string’,
’email’ => ‘required|string|email|max:255|unique:users’,
‘password’ => ‘required|string|min:6|confirmed’,
]);
}
}

Aquí, en la función signup(), debe crear un nuevo usuario de acuerdo con los datos solicitados al validar los datos proporcionados.

  • Para generar un token, podemos llamar a una función getPersonalAccessToken().

La vida útil del token se puede extender cuando establecemos el valor de recordar_me en ‘verdadero’.

  • Dado que Passport Middleware protege el punto final /user, siempre tendremos acceso a la función Auth::user().

Una vez que hayamos creado con éxito un controlador para la autenticación, es hora de probar la API REST. Puede usar un host virtual para probar o probarlo en el servidor de desarrollo de PHP.

En general, usamos herramientas como Postman para probar los puntos finales de nuestra API.

Para iniciar este proceso, deberá comenzar por obtener un token de acceso para un usuario ya registrado. Puede enviar una solicitud GET a “API/login” incorporando el correo electrónico y la contraseña como parámetros. Si no está registrado,

  • Registro de API: Abra la aplicación Postman y defina “Aceptar”: aplicación/JSON
  • API de pasaporte de inicio de sesión: se utiliza para copiar el token del portador y configurarlo en la sección de encabezado de la aplicación. Para iniciar sesión, deberá verificar el punto final del pasaporte de Laravel.
  • Necesitamos establecer una autenticidad precisa para ejecutar las operaciones CRUD. Recibirá un token de acceso después de un registro exitoso. La manifestación de este token de acceso establece coherencia con la autorización para garantizar la transmisión segura de datos con el servidor.
Recomendado:  Diez preguntas a considerar antes de seleccionar una solución de autenticación sin contraseña

Debe guardar el token de acceso como un

Token portador en el encabezado de autorización.

Conclusión

Finalmente completamos El Laravel tutorial API de pasaporte. Puede seguir todos los pasos básicos descritos para construir sobre esto y diseñar una API segura utilizando el pasaporte Laravel. Dominar este proceso de desarrollo de API seguras en Laravel Passport puede garantizar que lo contraten como desarrollador de Laravel. Pueden surgir errores en cualquier paso, dependiendo del código y su aplicación, pero a través de un proceso continuo de prueba y error, se puede desarrollar una API segura rápidamente.