React: Seguridad y autenticación

React 19: aprende seguridad y autenticación para proteger tus aplicaciones web de forma efectiva y segura. Tutoriales y ejemplos actualizados.

Aprende React GRATIS y certifícate

En el desarrollo de aplicaciones web con React 19, la seguridad y autenticación son componentes cruciales para proteger tanto la información del usuario como la seguridad de la aplicación. A continuación, exploraremos cómo implementar la seguridad y autenticación en React 19 utilizando técnicas y librerías actualizadas.

Introducción a la seguridad en React 19

La seguridad en aplicaciones web implica proteger la integridad, confidencialidad y disponibilidad de los datos. En React 19, esto se logra a través de prácticas como la validación de entradas, la sanitización de datos y el uso de HTTPS.

Validación de entradas

La validación de entradas es esencial para prevenir ataques como la inyección de código. En React 19, se puede utilizar la biblioteca yup en combinación con formik para validar formularios:

import * as Yup from 'yup';

const validationSchema = Yup.object().shape({
  email: Yup.string().email('Correo electrónico no válido').required('Requerido'),
  password: Yup.string().min(8, 'La contraseña debe tener al menos 8 caracteres').required('Requerido'),
});

Sanitización de datos

La sanitización de datos es el proceso de eliminar o transformar datos potencialmente dañinos. Librerías como DOMPurify pueden ser utilizadas para sanitizar HTML:

import DOMPurify from 'dompurify';

const sanitizedHTML = DOMPurify.sanitize(dirtyHTML);

Autenticación en React 19

La autenticación es el proceso de verificar la identidad de un usuario. Existen diferentes métodos para implementar autenticación en React 19, incluyendo autenticación basada en tokens y autenticación con OAuth.

Autenticación basada en tokens

La autenticación basada en tokens utiliza JSON Web Tokens (JWT) para asegurar la comunicación entre el cliente y el servidor. A continuación se muestra un ejemplo básico de cómo manejar JWT en React 19:

import axios from 'axios';

const login = async (email, password) => {
  try {
    const response = await axios.post('/api/login', { email, password });
    const token = response.data.token;
    localStorage.setItem('token', token);
  } catch (error) {
    console.error('Error en la autenticación', error);
  }
};

const getToken = () => {
  return localStorage.getItem('token');
};

Autenticación con OAuth

OAuth es un estándar abierto para la autorización. En React 19, se puede utilizar la biblioteca react-oauth para implementar OAuth con proveedores como Google o GitHub:

import { GoogleLogin } from 'react-oauth/google';

const handleLogin = (response) => {
  console.log('Token de acceso:', response.credential);
};

<GoogleLogin
  onSuccess={handleLogin}
  onError={() => {
    console.log('Error en la autenticación');
  }}
/>;

Protección de rutas

Para proteger rutas en una aplicación React 19, se pueden utilizar componentes de orden superior (HOC) o hooks. Un ejemplo de protección de rutas con un HOC es el siguiente:

import { Navigate } from 'react-router-dom';

const withAuth = (Component) => {
  return (props) => {
    const token = getToken();
    if (!token) {
      return <Navigate to="/login" />;
    }
    return <Component {...props} />;
  };
};

export default withAuth;
Empezar curso de React

Lecciones de este módulo de React

Lecciones de programación del módulo Seguridad y autenticación del curso de React.

Ejercicios de programación en este módulo de React

Evalúa tus conocimientos en Seguridad y autenticación con ejercicios de programación Seguridad y autenticación de tipo Test, Puzzle, Código y Proyecto con VSCode.