auth0/auth0-react

Úsalo al agregar autenticación a aplicaciones React (inicio de sesión, cierre de sesión, sesiones de usuario, rutas protegidas) - integra el SDK @auth0/auth0-react para SPAs con Vite o Create React App.

¿Qué es auth0-react?

Este skill está diseñado para desarrolladores que necesitan integrar autenticación en aplicaciones React de manera rápida y segura. Proporciona una interfaz sencilla para implementar inicio y cierre de sesión, gestionar sesiones de usuario, y proteger rutas, todo basado en el SDK oficial @auth0/auth0-react para aplicaciones de una sola página (SPA). Es especialmente útil para proyectos creados con Vite o Create React App, eliminando la complejidad de configurar manualmente flujos OAuth 2.0 y OpenID Connect. Con este skill, los agentes de IA pueden generar código que maneje correctamente el estado de autenticación, redirecciones y tokens, ahorrando tiempo y reduciendo errores comunes en la implementación de Auth0.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/auth0/agent-skills/tree/main/skills/auth0-react

Installed? Explore more Productividad y colaboración skills: steipete/gemini, steipete/gh-issues, steipete/skill-creator · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace auth0-react?

Úsalo al agregar autenticación a aplicaciones React (inicio de sesión, cierre de sesión, sesiones de usuario, rutas protegidas) - integra el SDK @auth0/auth0-react para SPAs con Vite o Create React App.

Requisitos previos

  • Una cuenta de Auth0 y un tenant configurado.
  • Una aplicación de tipo "Single Page Application" registrada en Auth0.
  • Node.js 18+ y npm/yarn/pnpm.

Instalación

npm install @auth0/auth0-react

Configuración

1. Proveedor de Auth0

Envuelve tu aplicación con Auth0Provider y pasa las opciones necesarias:

import React from 'react';
import { Auth0Provider } from '@auth0/auth0-react';

function App() {
  return (
    <Auth0Provider
      domain="YOUR_DOMAIN"
      clientId="YOUR_CLIENT_ID"
      authorizationParams={{
        redirect_uri: window.location.origin
      }}
    >
      <MyApp />
    </Auth0Provider>
  );
}

2. Inicio de sesión y cierre de sesión

import { useAuth0 } from '@auth0/auth0-react';

function LoginButton() {
  const { loginWithRedirect, logout, isAuthenticated } = useAuth0();

  return isAuthenticated ? (
    <button onClick={() => logout({ logoutParams: { returnTo: window.location.origin } })}>
      Cerrar sesión
    </button>
  ) : (
    <button onClick={() => loginWithRedirect()}>
      Iniciar sesión
    </button>
  );
}

3. Rutas protegidas

Crea un componente para proteger rutas:

import { withAuthenticationRequired } from '@auth0/auth0-react';

const ProtectedRoute = ({ component }) => {
  const Component = withAuthenticationRequired(component, {
    onRedirecting: () => <div>Redirigiendo...</div>,
  });
  return <Component />;
};

4. Obtener el token de acceso

import { useAuth0 } from '@auth0/auth0-react';

function ApiCall() {
  const { getAccessTokenSilently } = useAuth0();

  const callApi = async () => {
    const token = await getAccessTokenSilently();
    const response = await fetch('https://api.example.com/data', {
      headers: {
        Authorization: `Bearer ${token}`
      }
    });
    // ...
  };

  return <button onClick={callApi}>Llamar API</button>;
}

Notas importantes

  • Asegúrate de que las URLs de redirección en Auth0 coincidan con la configuración de tu aplicación.
  • Para Vite, usa import.meta.env en lugar de process.env para variables de entorno.
  • Para Create React App, usa REACT_APP_ como prefijo para variables de entorno.

Referencias

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados