Pruebe en producción sin marcas de agua.
Funciona donde lo necesite.
Obtén 30 días de producto totalmente funcional.
Ténlo en funcionamiento en minutos.
Acceso completo a nuestro equipo de asistencia técnica durante la prueba del producto
DotNetOpenAuth .NET Core es una versión de la biblioteca original DotNetOpenAuth adaptada para .NET Core, que proporciona una API pública robusta. Esta biblioteca le ayuda a añadir autenticación con OAuth2 y OpenID a sus 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 sus aplicaciones .NET.
Puede utilizar 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 funciones. Son esenciales para los desarrolladores que deseen gestionar la autenticación y la gestión de documentos PDF en su software.
Para empezar a utilizar DotNetOpenAuth .NET Core en sus proyectos .NET, compatibles con las tecnologías de Microsoft, siga estos pasos:
Abra su proyecto en Visual Studio.
Vaya al Explorador de soluciones.
Haga clic con el botón derecho del ratón en el nombre de su proyecto.
Seleccione Gestionar paquetes NuGet
.
En el gestor de paquetes NuGet, busque DotNetOpenAuth.NetCore
y otros paquetes NuGet.
Haz clic en Install
para añadirlo a tu proyecto.
Esto añadirá la biblioteca DotNetOpenAuth .NET Core a su proyecto, proporcionando soporte para la integración de funciones de autenticación.
He aquí un sencillo ejemplo que muestra cómo configurar la autenticación OAuth2 en su aplicación utilizando DotNetOpenAuth .NET Core:
using DotNetOpenAuth.OAuth2;
// Initialize the OAuth2 client
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
IAuthorizationState state = client.ProcessUserAuthorization();
if (state != null && state.IsAuthorized)
{
// Authorized successfully, now you can access protected resources
}
using DotNetOpenAuth.OAuth2;
// Initialize the OAuth2 client
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
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 utilizando DotNetOpenAuth .NET Core, se conecta a un servidor de autorización y procesa la autorización del usuario.
Para integrar OpenID Connect mediante DotNetOpenAuth .NET Core, puede seguir este planteamiento básico:
using DotNetOpenAuth.OAuth2;
// Configure the OpenID Connect client
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);
using DotNetOpenAuth.OAuth2;
// Configure the OpenID Connect client
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 OpenID.
A continuación se explica cómo gestionar los tokens de acceso con DotNetOpenAuth .NET Core:
// After user is authenticated, process the authorization response
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;
}
// After user is authenticated, process the authorization response
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 utilizar el token de acceso.
Para actualizar los tokens cuando caducan, utilice 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
}
}
// 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 comprueba si el token actual ha caducado e intenta actualizarlo.
Si necesita revocar tokens, impleméntelo como se muestra a continuación:
// Revoke the access token
bool success = openIdClient.RevokeAuthorization(authState);
if (success)
{
// Token revoked successfully
}
// 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.
Para personalizar las solicitudes de token para necesidades específicas, como añadir parámetros adicionales:
// Customize the token request
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
}
// Customize the token request
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, que pueden ser útiles para tratar requisitos específicos de un servidor de autorización.
IronPDF es una completa biblioteca que permite a los desarrolladores crear, leer y manipular archivos PDF en entornos .NET. Resulta especialmente útil para generar PDF a partir de HTML o directamente de URL, lo que puede ser estupendo para elaborar informes, generar facturas o simplemente almacenar páginas web en un formato estático. Cuando se integra con DotNetOpenAuth .NET Core, garantiza que estas funciones sean seguras y accesibles únicamente para usuarios autenticados.
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, imagine una situación en la que los usuarios inician sesión en su aplicación y acceden a sus informes financieros en formato PDF. DotNetOpenAuth garantiza que los usuarios estén debidamente autenticados y autorizados para acceder a sus documentos, mientras que IronPDF se encarga de la creación y entrega de estos PDF personalizados.
Veamos un ejemplo de código completo que demuestra cómo implementar esto. Crearemos una API web sencilla en .NET Core que autentique a un usuario y luego genere un informe PDF utilizando 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");
}
}
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 [Autorizar]para garantizar que sólo los usuarios autenticados puedan acceder al punto final 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.
La integración de DotNetOpenAuth .NET Core con IronPDF ofrece una potente solución para mejorar la seguridad y la funcionalidad de sus aplicaciones .NET. Al aprovechar estas tecnologías, puede proteger eficazmente los datos confidenciales y ofrecer una experiencia de usuario personalizada mediante la generación dinámica de PDF.
IronPDF no sólo es versátil, sino también fácil de usar para los desarrolladores, ya que ofrece un enfoque sencillo para crear y gestionar archivos PDF en aplicaciones .NET. Si está considerando incorporar IronPDF a su proyecto, se recomienda explorarSitio web oficial de IronPDF para una prueba gratuita y opciones de licencia.