Saltar al contenido principal
Esta guía de inicio rápido está actualmente en Beta. ¡Nos encantaría conocer sus comentarios!

Usa IA para integrar Auth0

Si usa un asistente de código con IA como Claude Code, Cursor o GitHub Copilot, puede agregar la autenticación de Auth0 automáticamente en minutos con agent skills.Instalar:
Luego, pídale a su asistente de IA:
Su asistente de IA creará automáticamente su API de Auth0, recuperará las credenciales, instalará el SDK de la API de autenticación de Auth0 para ASP.NET Core, configurará la autenticación JWT Bearer e implementará endpoints de API protegidos. Documentación completa de agent skills →
Requisitos previos: Antes de comenzar, asegúrese de tener instalado lo siguiente:
  • SDK de .NET 8.0 o superior
  • Su IDE preferido (Visual Studio 2022, VS Code o Rider)
Compatibilidad de versiones de .NET: Esta guía de inicio rápido funciona con .NET 8.0 y versiones posteriores.

Primeros pasos

Esta guía de inicio rápido muestra cómo agregar autenticación JWT de Auth0 a una API web de ASP.NET Core. Creará una API segura con endpoints protegidos mediante el SDK de API de Auth0 para ASP.NET Core.
1

Crear un nuevo proyecto

Cree un nuevo proyecto de API web de ASP.NET Core para esta guía de inicio rápido
Abrir el proyecto
2

Instala el SDK de Auth0

3

Configura tu API de Auth0

A continuación, debes crear una nueva API en tu tenant de Auth0 y agregar la configuración a tu proyecto.Puede hacerlo automáticamente ejecutando un comando de CLI o de forma manual a través del Dashboard:
Ejecute el siguiente comando de shell desde el directorio raíz de su proyecto para crear una API de Auth0 y actualizar el archivo appsettings.json:
4

Configurar la autenticación

Reemplace todo el contenido de Program.cs con el siguiente código:
Program.cs
5

Crear endpoints públicos y protegidos

Agregue endpoints para probar la autenticación. Agregue el siguiente código a Program.cs antes de app.Run():
Program.cs
6

Inicie la API

Tu API ya está en ejecución en https://localhost:7190 (o una URL similar; consulta la salida de la consola para ver la URL exacta).
Punto de verificaciónAhora deberías tener una API protegida por Auth0 totalmente funcional ejecutándose en tu localhost

Uso avanzado

Prueba tus endpoints protegidos con un token de acceso.1. Obtén un token de acceso de Auth0 mediante el flujo Client Credentials:
Para obtener YOUR_CLIENT_ID y YOUR_CLIENT_SECRET, crea una aplicación de máquina a máquina en el Auth0 Dashboard y autorízala para tu API.
2. Prueba el endpoint público (debe devolver 200 OK):
3. Prueba el endpoint protegido sin autenticación (debe devolver 401 Unauthorized):
4. Llama al endpoint protegido con el token:
Para APIs más grandes, usa controladores en lugar de endpoints de Minimal APIs.1. Agrega compatibilidad con controladores:
Program.cs
2. Crea un controlador:Crea Controllers/MessagesController.cs:
Controllers/MessagesController.cs
Protege endpoints en función de alcances específicos en el token de acceso.1. Define alcances en tu API de Auth0:En el Auth0 Dashboard → APIs → Tu API → Permissions, agrega los alcances:
  • read:messages - Leer mensajes
  • write:messages - Escribir mensajes
2. Configura políticas de autorización:
Program.cs
3. Aplica las políticas a los endpoints:
Al solicitar un token de acceso, incluye el scope requerido:
DPoP (Demostración de prueba de posesión) vincula los tokens de acceso a claves criptográficas, lo que evita el robo de tokens y los ataques de repetición.Habilite la compatibilidad con DPoP:
Program.cs
Modos de DPoP:Acepte tokens DPoP y Bearer (predeterminado):
Acepte solo tokens DPoP y rechace los tokens Bearer:
Configure los parámetros de validación de tiempo:
Obtenga más información sobre DPoP en la documentación de DPoP de Auth0.
Cree políticas de autorización reutilizables para requisitos complejos.1. Cree un requisito personalizado:
Authorization/HasScopeRequirement.cs
2. Cree un manejador:
Authorization/HasScopeHandler.cs
3. Registre y use la política:
Program.cs
Extraiga la información del usuario del token autenticado.
Personalice los parámetros de validación del token JWT para requisitos específicos.
Program.cs

Recursos adicionales

Documentación del SDK

Documentación completa del SDK y referencia de la API

Guía de migración

Migre desde la autenticación con JWT Bearer

Ejemplos de código

Ejemplos y patrones de código completos

Documentación de DPoP

Más información sobre la seguridad con prueba de posesión

Prácticas recomendadas para tokens

Prácticas recomendadas de seguridad para tokens

Foro de la comunidad

Obtenga ayuda de la comunidad de Auth0

Problemas comunes

Problema: La validación del token falla porque la audiencia no coincide.Solución: Asegúrate de que Audience en appsettings.json coincida exactamente con el identificador de tu API de Auth0. El claim audience del token debe coincidir con este valor.
Problema: La validación del token falla con un error de emisor.Solución: Verifica que tu dominio sea correcto y que no incluya https://. La biblioteca construye automáticamente la autoridad como https://{Domain}.
Problema: ArgumentNullException: Value cannot be null. (Parameter 'Domain') o similar.Solución: Asegúrate de que appsettings.json contenga la sección de Auth0 con los valores de Domain y Audience. Comprueba que la configuración se esté leyendo correctamente:
Problema: Se producen errores de certificado SSL/TLS al ejecutar localmente.Solución: Confía en el certificado de desarrollo:
O genera un certificado nuevo:
Problema: La autenticación no funciona a pesar de que la configuración es correcta.Solución: Asegúrate de que el middleware esté en el orden correcto. UseAuthentication() debe ir antes de UseAuthorization():
Problema: Las políticas de autorización basadas en alcances siempre fallan.Solución: Asegúrate de que tu token de acceso incluya los alcances requeridos. Al solicitar un token, especifica los alcances:
Verifica también que los alcances estén definidos en la configuración de tu API de Auth0 (Dashboard → APIs → Your API → Permissions).

Aplicación de ejemplo

En el repositorio del SDK hay disponible una aplicación de ejemplo completa que demuestra todas las funcionalidades.

Aplicación de entorno de pruebas

Incluye endpoints públicos y protegidos, compatibilidad con DPoP, integración con Swagger UI y una colección de Postman
Clone y ejecute: