Aprender React Seguridad y autenticación

Módulo del curso de React

React
React
Módulo del curso
Actualizado: 14/02/2025

Módulo: Seguridad y autenticación

Este módulo forma parte del curso de React. .

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;

Explora más sobre React

Descubre más recursos de React

Alan Sastre - Autor del curso

Alan Sastre

Ingeniero de Software y formador, CEO en CertiDevs

Ingeniero de software especializado en Full Stack y en Inteligencia Artificial. Como CEO de CertiDevs, React es una de sus áreas de expertise. Con más de 15 años programando, 6K seguidores en LinkedIn y experiencia como formador, Alan se dedica a crear contenido educativo de calidad para desarrolladores de todos los niveles.