AYUDA .NET

IdentityServer .NET (Cómo funciona para desarrolladores)

Actualizado agosto 13, 2024
Compartir:

Introducción

La seguridad es crucial en la arquitectura de software actual, sobre todo cuando se trata de permisos y autenticación de usuarios. Como marco superior para poner OpenID Connect y OAuth 2.0 en la práctica, IdentityServer4 ofrece una opción fiable para la autorización y autenticación centralizadas en redes dispersas. Cuando los desarrolladores emparejan IronPDF, una potente biblioteca de C# para la generación de PDF, con gestión segura de identidades, pueden combinar fácilmente ambas cosas para crear documentos PDF que satisfagan una gran variedad de requisitos de aplicación.

IdentityServer4 ofrece una solución modular basada en estándares que facilita la instalación de la gestión de identidades. Con su ayuda, los desarrolladores pueden crear un proveedor de identidad centralizado que gestione la autenticación de usuarios, el acceso, la validación y emisión de tokens y la validación de permisos para una gran variedad de servicios y aplicaciones. IdentityServer4 permite a los desarrolladores crear experiencias de autenticación seguras e intuitivas al admitir numerosos métodos de autenticación, como nombre de usuario/contraseña, inicios de sesión sociales y autenticación multifactor.

Este tutorial tratará sobre la integración en C# de IdentityServer4 con IronPDF, que muestra cómo utilizar IdentityServer4 para crear procesos seguros de autorización y autenticación y cómo utilizar las identidades de usuario creadas para personalizar la creación de documentos PDF de IronPDF. Repasaremos cómo mejorar la seguridad y funcionalidad de sus aplicaciones C#, desde la configuración de IdentityServer4 como proveedor centralizado de identidad y autenticación hasta la integración de IronPDF para la producción dinámica de PDF.

¿Qué es IdentityServer4 c#?

Un popular marco de código abierto llamado IdentityServer4 se utiliza en aplicaciones .NET y C# para realizar la gestión de identidades, la autorización y la autenticación. Es una solución flexible para asegurar aplicaciones web, APIs y microservicios porque está hecha para cumplir con protocolos de seguridad contemporáneos como OpenID Connect y OAuth 2.0.

IdentityServer4 funciona esencialmente como un servidor de autenticación centralizado, gestionando la identificación de usuarios y la gestión de permisos de identidad central, la emisión de tokens de acceso válidos y la validación de credenciales. Ofrece a los programadores la posibilidad de integrar la autenticación federada y el inicio de sesión único (SSO) en varias aplicaciones y servicios, lo que se traduce en una experiencia segura y fluida para el usuario final.

Servidor de identidad .NET (Cómo funciona para los desarrolladores): Figura 1 - IdentityServer4: Uso de ASP.NET Core Identity

Características de IdentityServer4

SSO, o inicio de sesión único

Sin tener que volver a introducir sus credenciales, los usuarios pueden acceder a distintas aplicaciones o servicios con una sola autenticación.

Compatibilidad con OpenID Connect y OAuth 2.0

Con el fin de ofrecer compatibilidad y soporte a una amplia gama de aplicaciones y plataformas cliente, IdentityServer4 ofrece protocolos estándar del sector para la autenticación y autorización seguras.

Configuración adaptable

Los desarrolladores pueden personalizar los parámetros de seguridad para adaptarlos a los requisitos de determinadas aplicaciones, ya que disponen de un control detallado sobre la configuración de las políticas de autenticación y permisos.

Conectividad con ASP.NET Core

La autenticación para aplicaciones web y API de ASP.NET Core es fácil de implantar gracias a la perfecta integración de IdentityServer4 con el framework.

Personalización y adaptabilidad

Gracias al alto grado de extensibilidad y personalización del marco, los desarrolladores pueden añadir nuevos almacenes de usuarios, proveedores de identidad, usuarios de prueba y flujos de trabajo de autenticación según sea necesario.

Verificación de usuarios

IdentityServer4 ofrece a los desarrolladores la flexibilidad necesaria para seleccionar la configuración del mecanismo de autenticación que mejor se adapte a los requisitos de su aplicación web. Estos mecanismos incluyen nombre de usuario/contraseña, inicios de sesión sociales (como Google, Facebook, etc.)y proveedores de identidad externos (como Active Directory, Azure AD, etc.).

Políticas de autorización

Para garantizar que sólo los usuarios autorizados puedan acceder a determinados recursos o realizar determinadas acciones dentro de la aplicación, los desarrolladores pueden crear políticas de autorización detalladas basadas en funciones de usuario, reclamaciones u otros criterios.

Gestión de fichas

Los tokens de acceso, los tokens de actualización y los tokens de identidad son gestionados por IdentityServer4, que ofrece un método seguro de autenticación de usuarios y permisos para acceder a los recursos protegidos por el servidor de identidad.

Crear y configurar

Para configurar IdentityServer4 en un proyecto de C# en Visual Studio, debe realizar los siguientes pasos:

Creación de un nuevo proyecto en Visual Studio

Tras iniciar la aplicación Visual Studio, puede seleccionar la opción "Crear un nuevo proyecto" o elegir el menú Archivo > Añadir > "Nuevo proyecto". A continuación, seleccione "Asp.NET Core Web App (Modelo-Vista-Controlador)" después de elegir "nuevo proyecto". En este tutorial utilizaremos esta aplicación para crear documentos PDF.

"Nuevo proyecto" opción. A continuación, seleccione "ASP.NET Core Web App"" />

Seleccione la ruta del archivo e introduzca el nombre del proyecto en el cuadro de texto correspondiente. A continuación, seleccione el .NET Framework necesario haciendo clic en el botón Crear, como se muestra en la siguiente captura de pantalla.

Servidor de identidad .NET (Cómo funciona para los desarrolladores): Figura 3 - A continuación, configure su proyecto especificando el nombre y la ubicación del proyecto. Haga clic en Siguiente.

A continuación, decida qué marco necesita y pulse el botón Crear.

Servidor de identidad .NET (Cómo funciona para los desarrolladores): Figura 4 - Especifique información adicional como Framework, Tipo de autenticación, seleccione si desea configurar para HTTPs y habilitar Docker. A continuación, haga clic en Crear.

El proyecto de Visual Studio generará ahora la estructura de la aplicación elegida. En este ejemplo estamos utilizando ASP.NET MVC. Para escribir el código, podemos crear un nuevo controlador o utilizar el que ya existe, lo que permite introducir el código y construir/ejecutar el programa.

Servidor de identidad .NET (Cómo funciona para los desarrolladores): Figura 5 - La aplicación web ASP.NET Core (MVC)  se ha creado correctamente.

Para probar el código, podemos añadir la biblioteca.

Instalar el paquete IdentityServer4

Mediante la CLI .NET o el gestor de paquetes NuGet de Visual Studio, añada el paquete IdentityServer4 al proyecto. Utilizando la consola del gestor de paquetes o un terminal, escriba el siguiente comando para instalar la última versión del paquete:

Install-Package IdentityServer4
Install-Package IdentityServer4
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Configurar IdentityServer4 en proyecto .NET Core

En su aplicación ASP.NET Core, configure IdentityServer4 añadiendo el middleware y los servicios de autenticación necesarios al archivo Startup.cs. Aquí se proporciona un ejemplo de código introductorio para configurar IdentityServer4:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddIdentityServer()
            .AddInMemoryClients(Config.Clients)
            .AddInMemoryIdentityResources(Config.IdentityResources)
            .AddInMemoryApiScopes(Config.ApiScopes)
            .AddInMemoryApiResources(Config.ApiResources)
            .AddTestUsers(Config.Users);
    }
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseIdentityServer();
    }
}
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddIdentityServer()
            .AddInMemoryClients(Config.Clients)
            .AddInMemoryIdentityResources(Config.IdentityResources)
            .AddInMemoryApiScopes(Config.ApiScopes)
            .AddInMemoryApiResources(Config.ApiResources)
            .AddTestUsers(Config.Users);
    }
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
        app.UseIdentityServer();
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Configurar clientes, recursos de identidad y recursos API

Configuración de clientes, recursos de identidad (ámbitos), configuración, base de datos y recursos API es necesario para IdentityServer4. Estas configuraciones se pueden definir en una clase diferente, como Config.cs:

public class Config
{
    public static IEnumerable<Client> Clients { get; set; }
    public static IEnumerable<IdentityResource> IdentityResources { get; set; }
    public static IEnumerable<ApiScope> ApiScopes { get; set; }
    public static IEnumerable<ApiResource> ApiResources { get; set; }
    public static List<TestUser> Users { get; set; }
}
public class Config
{
    public static IEnumerable<Client> Clients { get; set; }
    public static IEnumerable<IdentityResource> IdentityResources { get; set; }
    public static IEnumerable<ApiScope> ApiScopes { get; set; }
    public static IEnumerable<ApiResource> ApiResources { get; set; }
    public static List<TestUser> Users { get; set; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Siguiendo estas instrucciones, puede habilitar la autenticación y autorización seguras en sus aplicaciones ASP.NET Core creando y configurando IdentityServer4 en un proyecto C#.

Introducción a IdentityServer4 con IronPDF

Estas instrucciones le ayudarán a configurar IdentityServer4 para un código seguro de autenticación y autorización y utilizando IronPDF para crear documentos PDF en un proyecto C#. Siguiendo estas instrucciones aprenderá a crear un proyecto basado en una configuración básica.

¿Qué es IronPDF?

Para su uso en aplicaciones .NET, IronPDF es una biblioteca repleta de funciones para interactuar con documentos PDF. Con su amplio conjunto de funciones, los usuarios pueden crear PDF desde cero o a partir de contenido HTML, así como añadir, eliminar o reorganizar secciones de documentos PDF ya existentes. IronPDF ofrece a los desarrolladores una sólida API para producir, modificar y convertir archivos PDF, lo que simplifica el trabajo con PDF en aplicaciones .NET.

Servidor de identidad .NET (Cómo funciona para los desarrolladores): Figura 6 - IronPDF for .NET: La biblioteca PDF de C#

Características principales de IronPDF

Conversión de HTML a PDF

Con IronPDF, puede producir documentos PDF de excelente calidad mediante utilizando contenido HTMLincluyendo JavaScript y CSS. Esta funcionalidad resulta muy útil cuando se crean PDF a partir de sitios web o información dinámica.

Cambiar y mejorar los PDF

IronPDF le permite modificar documentos PDF que ya existen. Se pueden combinar varios PDF en un solo documento, extraer las páginas de un PDF y añadir texto, fotos, marcas de agua o comentarios.

Creación inmediata de un PDF

Con la API de IronPDF, puede añadir mediante programación texto, fotos, formas y otros objetos a documentos PDF recién creados. Esto permite generar dinámicamente facturas en PDF, informes y otros documentos.

Seguridad de los PDF

Puede gestionar el acceso y salvaguardar los datos críticos de la siguiente manera cifrar documentos PDF utilizando IronPDF y añadir seguridad de contraseña.

Formularios en PDF

Con IronPDF, los usuarios pueden trabajar con documentos PDF creando, rellenando y envío de formularios PDFasí como la introducción de datos en los campos de los formularios.

Texto para llevar

IronPDF es una herramienta de ayuda para la manipulación, el análisis y la búsqueda de datos de texto mediante extracción de información textual de documentos PDF.

Transformación a formatos de imagen

IronPDF es útil en situaciones en las que se necesitan fotos en lugar de PDF, ya que puede convertir documentos PDF a formatos de imagen comunes, como PNG, JPEG y BMP.

Instalar IronPDF

Utilice .NET CLI o NuGet Package Manager para añadir la última versión de IronPDF a su proyecto ahora.

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
VB   C#

Integrar IronPDF con IdentityServer4 C#

Configure los servicios y middleware necesarios para IdentityServer4 en su archivo Startup.cs. similar al código visto anteriormente. A continuación, cree un nuevo controlador MVC llamado PdfController.cs para gestionar la generación de PDF mediante IronPDF.

using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.Threading.Tasks;
[Authorize]
public class PdfController : Controller
{
    public async Task<IActionResult> GeneratePdf()
    {
        // Create IronPDF Renderer
        var Renderer = new IronPdf.ChromePdfRenderer();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>";
        // Convert HTML to PDF asynchronously
        var pdfDocument = await Task.Run(() => Renderer.RenderHtmlAsPdf(htmlContent));
        // Return the PDF as a file
        return File(pdfDocument.BinaryData, "application/pdf", "example.pdf");
    }
}
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using IronPdf;
using System.Threading.Tasks;
[Authorize]
public class PdfController : Controller
{
    public async Task<IActionResult> GeneratePdf()
    {
        // Create IronPDF Renderer
        var Renderer = new IronPdf.ChromePdfRenderer();
        // HTML content to be converted to PDF
        string htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>";
        // Convert HTML to PDF asynchronously
        var pdfDocument = await Task.Run(() => Renderer.RenderHtmlAsPdf(htmlContent));
        // Return the PDF as a file
        return File(pdfDocument.BinaryData, "application/pdf", "example.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

El proceso de integración de IronPDF con IdentityServer4 en una aplicación C# consiste en utilizar IdentityServer4 para configurar la autenticación y autorización seguras de los usuarios, seguido de IronPDF para crear documentos PDF a los que sólo pueden acceder los usuarios autenticados. El ejemplo de código proporcionado tiene IdentityServer4 configurado en el archivo Startup.cs para gestionar la identidad de los usuarios mediante configuraciones en memoria y gestionar las credenciales de los clientes.

Sólo los usuarios autorizados pueden acceder a las operaciones del PdfController ya que está protegido con la directiva [Autorizar] atributo. Este controlador utiliza un método asíncrono para convertir información HTML a formato PDF utilizando la biblioteca IronPDF. Los pasos en el proceso de generación de PDF son: construir un renderizador ChromePdfRenderer; transformando Texto HTML en un documento PDF; y devolviendo el PDF como archivo de respuesta.

Para combinar una seguridad sólida con capacidades dinámicas de generación de documentos, la integración incorpora la lógica de generación de PDF dentro de un punto final seguro, garantizando que sólo los usuarios que han sido verificados por IdentityServer4 pueden iniciar la creación del PDF. Este método funciona especialmente bien en aplicaciones que necesitan manejar documentos de forma segura, incluyendo la creación de facturas, informes o contenido personalizado basado en información específica del usuario, todo ello mientras se aplica un estricto control de acceso a través de IdentityServer4.

Servidor de identidad .NET (Cómo funciona para los desarrolladores): Figura 7 - PDF de salida generado mediante IronPDF con autenticación y autorización de usuario seguras proporcionadas por IdentityServer4.

Conclusión

En resumen, la integración de IdentityServer4 con IronPDF en un proyecto de C# combina con éxito una fuerte seguridad con la capacidad de crear PDF dinámicos. Al ofrecer un método único y estandarizado para gestionar las identidades de los usuarios y el control de acceso en varias aplicaciones y servicios, IdentityServer4 garantiza la autenticación y autorización seguras de los usuarios. Mediante el uso de IronPDF, los desarrolladores pueden producir documentos PDF de calidad superior a los que sólo pueden acceder los usuarios autorizados, todo ello basado en datos de usuario verificados.

Esta integración mejora la seguridad y la funcionalidad de la aplicación, lo que la hace perfecta para situaciones como la creación de facturas, informes y contenidos personalizados que requieren un procesamiento seguro de los documentos. En definitiva, la combinación de IdentityServer4 y IronPDF ofrece una opción sólida para crear aplicaciones seguras, eficaces y orientadas al usuario dentro del marco .NET.

En IronPDF y **IronSoftware integradas en su pila de desarrollo de aplicaciones empresariales, IronPDF puede proporcionar a los desarrolladores documentación y soluciones de software premium para clientes y usuarios finales. Esta sólida base también facilitará los proyectos, los sistemas backend y la mejora de los procesos.

IronPDFuna combinación de 9 productos API .NET diferentes para un precio de licencia de sólo dos!

Estas tecnologías son excelentes opciones para los proyectos modernos de desarrollo de software por su amplia documentación, su activa comunidad de desarrolladores en línea y sus actualizaciones periódicas.

< ANTERIOR
OData C# (Cómo funciona para desarrolladores)
SIGUIENTE >
Flurl C# (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.9 acaba de salir

Descarga gratuita de NuGet Descargas totales: 10,516,730 View Licenses >