Restablecimiento de contraseñas – Documentación de Laravel 6

Introducción

¿Quieres comenzar rápido? Instala el paquete de composer laravel/ui y ejecuta php artisan ui vue --auth en una aplicación de Laravel nueva. Luego de migrar tu base de datos, navega hasta http://your-app.test/register o cualquier otra URL asignada a tu aplicación. Este simple comando se encargará de maquetar todo tu sistema de autenticación, ¡incluyendo el restablecimiento de contraseñas!.

La mayoría de las aplicaciones web proporciona una forma para que los usuarios restablecen sus contraseñas olvidadas. En lugar de forzarte a reimplementar esto en cada aplicación, Laravel proporciona métodos convenientes para enviar recordatorios de contraseñas y realizar restablecimientos de contraseñas.

Antes de usar las características de restablecimiento de contraseñas de Laravel, tu usuario debe usar el trait Illuminate\Notifications\Notifiable.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Hashing – Documentación de Laravel 6

Introducción

El facade Hash de Laravel proporciona hashing seguro de Bcrypt y Argon2 para almacenar contraseñas de usuarios. Si estás usando las clases integradas LoginController y RegisterController que están incluidas con tu aplicación de Laravel usarán Bcrypt para registro y autenticación de forma predeterminada.

Bcrypt es una buena opción para el hashing de contraseñas dado que su «factor de trabajo» es ajustable, lo que quiere decir que el tiempo que toma generar un hash puede ser aumentado a medida que la capacidad de hardware incrementa.

Configuración

El driver de hashing por defecto para tu aplicación está configurado en el archivo de configuración config/hashing.php. Actualmente hay tres drivers soportados: Bcrypt y Argon2 (variantes Argon2i y Argon2id).

El driver Argon2i requiere PHP 7.2.0 o superior y el driver Argon2id requiere PHP 7.3.0 o superior.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Cifrado – Documentación de Laravel 6

Introducción

El cifrado de Laravel utiliza OpenSSL para proporcionar el cifrado AES-256 y AES-128. Se recomienda encarecidamente usar las funciones de cifrado incorporadas de Laravel y no intente desplegar tus algoritmos de cifrado «de cosecha propia». Todos los valores cifrados de Laravel son firmados utilizando un código de autenticación de mensaje (MAC) para que su valor subyacente no pueda modificarse una vez cifrado.

Configuración

Antes de usar el cifrado de Laravel, debes establecer la opción key en tu archivo de configuración config/app.php. Deberías usar el comando php artisan key: generate para generar esta clave, ya que este comando de Artisan usará el generador de bytes aleatorios seguros de PHP para construir tu clave. Si este valor no se establece correctamente, todos los valores cifrados por Laravel serán inseguros.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Verificación de Correo Electrónico – Documentación de Laravel 6

Introducción

Muchas aplicaciones web requieren que los usuarios verifiquen sus correos electrónicos usando la aplicación. En lugar de forzarte a volver a implementar esto en cada aplicación, Laravel proporciona métodos convenientes para enviar y verificar solicitudes de verificación de correos electrónicos.

Preparación del modelo

Para comenzar, verifica que tu modelo App\User implementa la interfaz Illuminate\Contracts\Auth\MustVerifyEmail:

Consideraciones de la base de datos

Columna de verificación de correo electrónico

Luego, tu tabla user debe contener una columna email_verified_at para almacenar la fecha y la hora en la que la dirección de correo electrónico fue verificada. Por defecto, la migración de la tabla user incluida con el framework Laravel ya incluye esta columna. Así que, lo único que necesitas es ejecutar la migración de la base de datos:

Rutas

Laravel incluye la clase Auth\VerificationController que contiene la lógica necesaria para enviar enlaces de verificación y verificar correos electrónicos. Para registrar las rutas necesarias para este controlador, pasa la opción verify al método Auth::routes:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Autorización – Documentación de Laravel 6

Introducción

Además de proveer servicios de autenticación por defecto, Laravel además provee una forma simple de autorizar acciones del usuario contra un recurso dado. Como con la autenticación, el enfoque de Laravel para la autorización es simple, y hay dos maneras principales de autorizar acciones: gates y policies (puertas y políticas).

Piensa en los gates y políticas como rutas y controladores. Los Gates proveen una manera simple, basada en funciones anónimas, para definir las reglas de autorización; mientras que las políticas, como los controladores, agrupan la lógica para un modelo o recurso en específico. Vamos a explorar los gates primero y luego las políticas.

No necesitas elegir entre el uso exclusivo de gates o de políticas cuando construyas una aplicación. Lo más probable es que la mayoría de las aplicaciones contengan una mezcla de gates y de políticas ¡Y eso está completamente bien! Los gates son más aplicables a acciones que no estén relacionadas a ningún modelo o recurso, como por ejemplo ver un tablero en el panel de administración. Por otro lado, las políticas deberan ser usadas cuando desees autorizar una acción para un modelo o recurso en particular.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Autenticación de API – Documentación de Laravel 6

Introducción

Por defecto, Laravel viene con una sencilla solución para autenticación de API mediante tokens aleatorios asignados a cada usuario de tu aplicación. En tu archivo de configuración config/auth.php, un guard api ya está definido y utiliza un driver token. Este driver es responsable de inspeccionar el token de la API en la petición entrante y verificar que coincida con el token asignado al usuario en la base de datos.

Nota: Aunque Laravel viene con un sencillo guard de autenticación basado en token, te recomendamos considerar usar Laravel Passport para aplicaciones robustas en producción que ofrecen autenticación de API.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Autenticación – Documentación de Laravel 6

Introducción

¿Quieres comenzar rápido? Instala el paquete de Composer laravel/ui y ejecuta php artisan ui vue --auth en una nueva aplicación de Laravel. Luego de migrar tu base de datos, dirígete en tu navegador a http://tu-app.test/register o cualquier otra URL asignada a tu aplicación. ¡Estos dos comandos se encargarán de generar todo el sistema de autenticación!

Laravel hace la implementación de la autenticación algo muy sencillo. De hecho, casi todo se configura para ti por defecto. El archivo de configuración de la autenticación está localizado en config/auth.php, el cual contiene varias opciones bien documentadas para ajustar el comportamiento de los servicios de autenticación.

En esencia, las características de la autenticación de Laravel están compuestas de «guards» (guardias) y «providers» (proveedores). Los Guards definen cómo los usuarios son autenticados para cada petición. Por ejemplo, Laravel contiene un guard session el cual mantiene el estado utilizando el almacenamiento de sesión y las cookies.

Los proveedores definen cómo se retornan los usuarios de tu almacenamiento persistente. Laravel cuenta con soporte para recuperar los usuarios utilizando Eloquent y el constructor de consultas de la base de datos. Sin embargo, eres libre de definir los proveedores adicionales que requiera tu aplicación.

¡No te preocupes si esto suena confuso por el momento! Muchas aplicaciones nunca necesitarán modificar la configuración predeterminada de la autenticación.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Compilación De Assets (Laravel Mix) – Documentación de Laravel 6

Introducción

Laravel Mix proporciona una API fluida para definir pasos de compilación de Webpack para tu aplicación de Laravel usando múltiples preprocesadores de CSS y JavaScript. A través de encadenamiento de cadenas simples, puedes definir fluidamente tus pipelines de assets. Por ejemplo:

Si alguna vez has estado confundido o agobiado al comenzar con Webpack y la compilación de assets, amarás Laravel Mix. Sin embargo, no estás obligado a usarlo durante el desarollo de tu aplicación. Eres libre de usar cualquier pipeline de assets que desees o incluso ninguno.

Instalación y configuración

Instalando Node

Antes de ejecutar Mix, debes asegurar de que Node.js y NPM están instalados en tu máquina.

Por defecto, Laravel Homestead incluye todo lo que necesitas; sin embargo, si no estás usando Vagrant, entonces puedes fácilmente instalar la última versión de Node y NPM usando instaladores sencillos desde su página de descargas.

Laravel Mix

El único paso restante es instalar Laravel Mix. Dentro de una instalación nueva de Laravel, encontrarás un archivo package.json en la raíz de tu estructura de directorios. El archivo por defecto package.json incluye todo lo que necesitas para comenzar. Piensa en éste como tu archivo composer.json, excepto que define dependencias de Node en lugar de PHP. Puedes instalar las dependencias a las cuales haces referencia ejecutando:

Ejecutando Mix

Mix es una capa de configuración basado en Webpack, así que para ejecutar tus tareas de Mix sólo necesitas ejecutar uno de los scripts de NPM incluídos en el archivo package.json por defecto de Laravel:

Observando cambios en los assets

El comando npm run watch continuará ejecutándose en tu terminal y observando todos los archivos relevantes por cambios. Webpack entonces automáticamente recompilará tus assets cuando detecte un cambio:

Puedes encontrar que en algunos entornos Webpack no está actualizando los cambios en tus archivos. Si éste es el caso en tu sistema, considera usar el comando watch-poll:

Trabajando con hojas de estilos

El archivo webpack.mix.js es el punto de entrada para toda la compilación de assets. Piensa en éste como un wrapper de configuración liviano alrededor de Webpack. Las tareas de Mix pueden ser encadenadas para definir exactamente cómo tus assets deben ser compilados.

Regístrate para ver ésta y cientos de lecciones exclusivas.

JavaScript y Estructuración de CSS – Documentación de Laravel 6

Introducción

Mientras Laravel no dicta la pauta sobre que pre-procesadores de JavaScript o CSS usar, si proporciona un punto de inicio básico usando Bootstrap, React y / o Vue que será de utilidad para muchas aplicaciones. De forma predeterminada, Laravel usa NPM para instalar ambos paquetes de frontend.

La estructura de Boostrap y Vue proporcinada por Laravel se encuentra en el paquete de Composer laravel/ui, que se puede instalar usando Composer:

Una vez que se haya instalado el paquete laravel/ui, puedes instalar la estructura del frontend usando el comando ui de artisan:

CSS

Laravel Mix proporciona una clara y expresiva API sobre compilación de Sass o Less, las cuales son extensiones de CSS plano que agregan variables, mixins y otras poderosas características que hacen el trabajo con CSS mucho más divertido. En este documento, discutiremos brevemente la compilación CSS en general; sin embargo, deberías consultar la documentación de Laravel Mix completa para mayor información sobre compilación de Sass o Less.

JavaScript

Laravel no requiere que uses un framework o biblioteca de JavaScript específica para construir tus aplicaciones. De hecho, no tienes que usar JavaScript en lo absoluto. Sin embargo, Laravel sí incluye algunas de las estructuras básicas para hacer más fácil los primeros pasos para escribir JavaScript moderno usando el framework Vue. Vue proporciona una API expresiva para construir aplicaciones de JavaScript robustas usando componentes. Como con CSS, podemos usar Laravel Mix para compilar fácilmente componentes de JavaScript en un único archivo de JavaScript para los eventos del navegador.

Regístrate para ver ésta y cientos de lecciones exclusivas.

Configuración Regional – Documentación de Laravel 6

Introducción

Las características de configuración regional de Laravel proporcionan una forma conveniente de retornar cadenas en varios idiomas, permitiéndote soportar fácilmente múltiples idiomas en tu aplicación. Las cadenas de idiomas son almacenadas en archivos dentro del directorio resources/lang. Dentro de este directorio debería haber un subdirectorio para cada idioma soportado por la aplicación:

Todos los archivos de idioma retornan un arreglo de cadenas con sus claves. Por ejemplo:

Para idiomas que difieren por territorio, debes nombrar los directorios de idiomas según la ISO 15897. Por ejemplo, «en_GB» debe ser usado para inglés británico en lugar de «en-gb».

Configurando la configuración regional

El idioma por defecto para tu aplicación se almacena en el archivo de configuración config/app.php. Puedes modificar este valor en base a las necesidades de tu aplicación. También puedes cambiar el idioma activo en tiempo de ejecución usando el método setLocale en el facade App:

Puedes configurar un «idioma alternativo», que será usado cuando el idioma activo no contiene una determinada cadena de traducción. Al igual que el idioma por defecto, el idioma alternativo también es configurado en el archivo de configuración config/app.php:

Determinando la configuración regional actual

Puedes usar los métodos getLocale y isLocale en el facade App para determinar la configuración regional actual o comprobar si la configuración tiene un valor dado:

Regístrate para ver ésta y cientos de lecciones exclusivas.

Suscríbete a nuestro boletín

Te enviaremos publicaciones con consejos útiles y múltiples recursos para que sigas aprendiendo.

Recibe consejos útiles y múltiples recursos directamente en tu correo