IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

DotNetOpenAuth en .NET Core | OAuth2 y OpenID Connect

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 23 de abril de 2026

Aprenda a implementar OAuth2 y OpenID Connect en .NET Core con DotNetOpenAuth. Guía con autenticación de usuarios, tokens de acceso y configuración de proveedores. Esta biblioteca te ayuda a añadir autenticación con OAuth2 y OpenID a tus aplicaciones .NET. IronPDF es una biblioteca para crear, leer, y editar archivos PDF en .NET. Es útil para generar documentos como informes y facturas directamente desde tus aplicaciones .NET.

Puedes usar DotNetOpenAuth .NET Core e IronPDF en varios tipos de proyectos, como aplicaciones web y de escritorio, para aprovechar el código compartido e implementar nuevas características. Son esenciales para los desarrolladores que buscan manejar la autenticación y la gestión de documentos PDF en su software.

Cómo empezar con DotNetOpenAuth .NET Core

Cómo configurar DotNetOpenAuth .NET Core en proyectos .NET

Para comenzar a usar DotNetOpenAuth .NET Core en tus proyectos .NET, soportados por las tecnologías de Microsoft, sigue estos pasos:

  1. Abra su proyecto en Visual Studio.
  2. Ve al Solution Explorer.
  3. Haz clic derecho en el nombre de tu proyecto.
  4. Selecciona Manage NuGet Packages.
  5. En el Administrador de Paquetes NuGet, busca DotNetOpenAuth.NetCore y otros paquetes NuGet.
  6. Haz clic en Install para añadirlo a tu proyecto.

Esto añadirá la biblioteca DotNetOpenAuth .NET Core a tu proyecto, proporcionando soporte para integrar características de autenticación.

Un ejemplo de código básico con DotNetOpenAuth .NET Core

Aquí hay un ejemplo simple que muestra cómo configurar la autenticación OAuth2 en tu aplicación usando DotNetOpenAuth .NET Core:

using DotNetOpenAuth.OAuth2;

// Initialize the OAuth2 client with the authorization server details
var client = new WebServerClient(new AuthorizationServerDescription
{
    TokenEndpoint = new Uri("https://your-auth-server.com/token"),
    AuthorizationEndpoint = new Uri("https://your-auth-server.com/authorize")
}, "your-client-id", "your-client-secret");

// Start the authentication process and get the authorization state
IAuthorizationState state = client.ProcessUserAuthorization();
if (state != null && state.IsAuthorized)
{
    // Authorized successfully, now you can access protected resources
}

Este fragmento de código configura un cliente OAuth2 usando DotNetOpenAuth .NET Core, se conecta a un servidor de autorización y procesa la autorización del usuario.

Implementar características de DotNetOpenAuth .NET Core

Integración de OpenID Connect

Para integrar OpenID Connect usando DotNetOpenAuth .NET Core, puedes seguir este enfoque básico:

using DotNetOpenAuth.OAuth2;

// Configure the OpenID Connect client with authority details
var openIdClient = new WebServerClient(new AuthorizationServerDescription
{
    TokenEndpoint = new Uri("https://your-openid-provider.com/token"),
    AuthorizationEndpoint = new Uri("https://your-openid-provider.com/authorize")
}, "your-client-id");

// Redirect user for authentication
Uri authUri = openIdClient.GetAuthorizationRequestUri("openid email profile");
Response.Redirect(authUri.AbsoluteUri);

Este código configura un cliente OpenID Connect y redirige al usuario a la página de autenticación del proveedor de OpenID.

Manejo de tokens de acceso

Aquí puedes ver cómo manejar tokens de acceso con DotNetOpenAuth .NET Core:

// After the user is authenticated, process the authorization response to retrieve the token
IAuthorizationState authState = openIdClient.ProcessUserAuthorization();
if (authState != null && authState.IsAuthorized)
{
    // Access token is available, and you can use it to make authenticated requests
    string accessToken = authState.AccessToken;
}

Este fragmento procesa la respuesta de autorización del usuario para recuperar y usar el token de acceso.

Refrescar fichas

Para refrescar los tokens cuando expiran, utiliza el siguiente código:

// Check if the access token is expired and refresh it
if (authState.AccessTokenExpirationUtc <= DateTime.UtcNow)
{
    if (openIdClient.RefreshAuthorization(authState))
    {
        // Token refreshed successfully
    }
}

Este código verifica si el token actual ha expirado e intenta refrescarlo.

Revocación de tokens

Si necesitas revocar tokens, impléméntalo como se muestra a continuación:

// Revoke the access token
bool success = openIdClient.RevokeAuthorization(authState);
if (success)
{
    // Token revoked successfully
}

Este fragmento revoca la autorización, invalidando efectivamente el token de acceso.

Personalización de las solicitudes de token

Para personalizar solicitudes de tokens para necesidades específicas, como añadir parámetros extra:

// Customize the token request with additional parameters
var additionalParams = new Dictionary<string, string>
{
    {"custom_parameter", "value"}
};
IAuthorizationState customizedState = openIdClient.ProcessUserAuthorization(additionalParams);
if (customizedState != null && customizedState.IsAuthorized)
{
    // Token request customized and processed successfully
}

Este código añade parámetros personalizados a la solicitud de token, lo cual puede ser útil para tratar con requisitos específicos de un servidor de autorización.

DotNetOpenAuth .NET Core con IronPDF

IronPDF es una biblioteca completa que permite a los desarrolladores crear, leer, y manipular archivos PDF en entornos .NET. Es particularmente útil para generar PDFs a partir de HTML o directamente desde URLs, lo cual puede ser genial para informes, generación de facturas, o simplemente almacenar páginas web en un formato estático. Cuando se integra con DotNetOpenAuth .NET Core, asegura que estas capacidades sean seguras y accesibles solo para usuarios autenticados.

Caso de uso de la fusión de IronPDF con DotNetOpenAuth .NET Core

Un caso de uso práctico para fusionar IronPDF con DotNetOpenAuth .NET Core es en una aplicación web donde los usuarios autenticados necesitan generar y descargar informes personalizados. Por ejemplo, imagina un escenario donde los usuarios inician sesión en tu aplicación y acceden a sus informes financieros en PDF. DotNetOpenAuth asegura que los usuarios estén correctamente autenticados y autorizados para acceder a sus documentos, mientras que IronPDF se encarga de la creación y entrega de estos PDFs personalizados.

Ejemplo de código del caso de uso

Veamos un ejemplo de código completo que demuestra cómo implementar esto. Crearemos una simple API web en .NET Core que autentica a un usuario y luego genera un informe PDF usando IronPDF:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;

[Route("api/[controller]")]
[ApiController]
public class ReportController : ControllerBase
{
    [Authorize]
    [HttpGet("download-pdf")]
    public IActionResult DownloadPdfReport()
    {
        // Authentication is handled by DotNetOpenAuth .NET Core
        var currentUser = HttpContext.User.Identity.Name;

        // Generate PDF content using IronPDF
        var Renderer = new ChromePdfRenderer();
        var PDF = Renderer.RenderHtmlAsPdf($"<h1>Report for {currentUser}</h1><p>This is your personalized financial report.</p>");

        // Set file name and content type for the PDF
        var outputFileName = $"Report-{currentUser}.pdf";
        Response.Headers.Add("Content-Disposition", $"attachment; filename={outputFileName}");
        Response.ContentType = "application/pdf";

        // Return the generated PDF file
        return File(PDF.Stream.ToArray(), "application/pdf");
    }
}

En este ejemplo, estamos utilizando el atributo [Authorize] para asegurar que solo los usuarios autenticados puedan acceder al punto de generación de PDF. La clase ChromePdfRenderer de IronPDF se utiliza para crear un PDF a partir de contenido HTML, que en este caso se personaliza dinámicamente con el nombre del usuario.

DotNetOpenAuth .NET Core (Cómo Funciona Para Desarrolladores): Figura 1

Conclusión

Integrar DotNetOpenAuth .NET Core con IronPDF ofrece una solución poderosa para mejorar la seguridad y funcionalidad de tus aplicaciones .NET. Al aprovechar estas tecnologías, puedes proteger efectivamente datos sensibles y proporcionar una experiencia de usuario personalizada a través de la generación dinámica de PDFs.

IronPDF no solo es versátil, sino también amigable para el desarrollador, ofreciendo un enfoque sencillo para crear y gestionar archivos PDF dentro de aplicaciones .NET. Si estás considerando incorporar IronPDF en tu proyecto, se recomienda explorar el Sitio Oficial de IronPDF para una prueba gratuita y opciones de licencia.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999