AIDE .NET

IdentityServer .NET (Comment ça marche pour les développeurs)

Chaknith Bin
Chaknith Bin
août 13, 2024
Partager:

Introduction

La sécurité est cruciale dans l'architecture logicielle d'aujourd'hui, en particulier lorsqu'il s'agit de l'autorisation et de l'authentification des utilisateurs. En tant que principal cadre pour mettre en pratique OpenID Connect et OAuth 2.0, IdentityServer4 offre une option fiable pour l'autorisation et l'authentification centralisées dans des réseaux distribués. Lorsqu'ils associent IronPDF, une bibliothèque C# puissante pour la génération de PDF, à une gestion sécurisée des identités, les développeurs peuvent facilement combiner les deux pour créer des documents PDF qui répondent à diverses exigences d'application.

IdentityServer4 offre une solution modulaire et basée sur des standards qui facilite l'installation de la gestion des identités. Avec son aide, les développeurs peuvent créer un fournisseur d'identité centralisé qui gère l'authentification des utilisateurs, l'accès, la validation et l'émission de jetons, ainsi que la validation des autorisations pour une variété de services et d'applications. IdentityServer4 permet aux développeurs de créer des expériences d'authentification sûres et intuitives en prenant en charge de nombreuses méthodes d'authentification, telles que le nom d'utilisateur/mot de passe, les connexions sociales et l'authentification multifactorielle.

Ce didacticiel couvrira l'intégration de C# avec IdentityServer4 et IronPDF, en montrant comment utiliser IdentityServer4 pour créer des processus sécurisés pour l'autorisation et l'authentification et comment utiliser les identités utilisateurs créées pour personnaliser la création de documents PDF d'IronPDF. Nous verrons comment améliorer la sécurité et la fonctionnalité de vos applications C#, de la configuration d'IdentityServer4 en tant que fournisseur centralisé d'identité et d'authentification à l'intégration d'IronPDF pour la production dynamique de PDF.

Qu'est-ce que IdentityServer4 c# ?

Un cadre open-source bien connu appelé IdentityServer4 est utilisé dans les applications .NET et C# pour gérer l'identité, l'autorisation et l'authentification. Il s'agit d'une solution flexible pour sécuriser les applications web, les API et les microservices, car elle est conçue pour se conformer aux protocoles de sécurité contemporains tels que OpenID Connect et OAuth 2.0.

IdentityServer4 fonctionne essentiellement comme un serveur d'authentification centralisé, gérant l'identification des utilisateurs et la gestion des permissions, l'identité centrale, l'émission de jetons d'accès valides et la validation des informations d'identification. Il permet aux programmeurs d'intégrer l'authentification fédérée et l'authentification unique (SSO) dans plusieurs applications et services, offrant ainsi une expérience utilisateur finale sûre et fluide.

IdentityServer .NET (Comment ça fonctionne pour les développeurs) : Figure 1 - IdentityServer4 : Utilisation de ASP.NET Core Identity

Caractéristiques d'IdentityServer4

SSO (single sign-on)

Sans avoir à saisir à nouveau leurs informations d'identification, les utilisateurs peuvent accéder à différentes applications ou services avec une seule authentification.

Prise en charge d'OpenID Connect et d'OAuth 2.0

Afin d'assurer la compatibilité avec un large éventail d'applications et de plates-formes clients et de les prendre en charge, IdentityServer4 propose des protocoles standard pour l'authentification et l'autorisation sécurisées.

Configuration adaptable

Les développeurs peuvent personnaliser les paramètres de sécurité en fonction des exigences de certaines applications, puisqu'ils ont un contrôle fin sur la configuration des politiques d'authentification et d'autorisation.

Connectivité à ASP.NET Core

L'authentification pour les web apps et API ASP.NET Core est simple à mettre en œuvre grâce à l'intégration fluide d'IdentityServer4 avec le framework.

Personnalisation et adaptabilité

Grâce au degré élevé d'extensibilité et de personnalisation du cadre, les développeurs peuvent ajouter de nouveaux magasins d'utilisateurs, fournisseurs d'identité, utilisateurs de test et flux de travail d'authentification en fonction des besoins.

Vérification de l'utilisateur

IdentityServer4 offre aux développeurs la possibilité de choisir la configuration du mécanisme d'authentification qui répond le mieux aux exigences de leur application web. Ces mécanismes incluent nom d'utilisateur/mot de passe, connexions sociales (comme Google, Facebook, etc.), et fournisseurs d'identité externes (comme Active Directory, Azure AD, etc.).

Politiques d'autorisation

Afin de garantir que seuls les utilisateurs autorisés peuvent accéder à certaines ressources ou effectuer certaines actions au sein de l'application, les développeurs peuvent élaborer des politiques d'autorisation fines basées sur les rôles des utilisateurs, les réclamations ou d'autres critères.

Gestion des jetons

Les jetons d'accès, les jetons de rafraîchissement et les jetons d'identité sont tous gérés par IdentityServer4, qui offre une méthode sûre d'authentification de l'utilisateur et l'autorisation d'accéder aux ressources protégées par le serveur d'identité.

Créer et configurer

Pour configurer IdentityServer4 dans un projet C# dans Visual Studio, vous devez suivre les étapes suivantes :

Création d'un nouveau projet dans Visual Studio

Après avoir lancé l'application Visual Studio, vous pouvez soit sélectionner l'option "Créer un nouveau projet", soit choisir le menu Fichier > Ajouter > "Nouveau projet". Ensuite, choisissez "Asp.NET core Web App (Model-View-Controller)" après avoir sélectionné "nouveau projet". Dans ce tutoriel, nous utiliserons cette application pour créer des documents PDF.

 related to Création d'un nouveau projet dans Visual Studio option Nouveau projet. Puis sélectionnez ASP.NET Core Web App" />

Sélectionnez le chemin d'accès au fichier et saisissez le nom du projet dans la zone de texte correspondante. Ensuite, choisissez le Framework .NET nécessaire en cliquant sur le bouton Créer, comme le montre la capture d'écran ci-dessous.

![IdentityServer .NET (Comment cela fonctionne pour les développeurs) : Figure 3 - Ensuite, configurez votre projet en spécifiant le nom et l'emplacement du projet. Cliquez sur Suivant.

Ensuite, décidez du cadre dont vous avez besoin et cliquez sur le bouton Créer.

IdentityServer .NET (Comment cela fonctionne pour les développeurs) : Figure 4 - Spécifiez des informations supplémentaires telles que le Framework, le type d'authentification, sélectionnez si vous souhaitez configurer pour HTTPs et activer Docker. Puis cliquez sur Créer.

La structure de l'application choisie sera maintenant générée par le projet Visual Studio. Nous utilisons ASP.NET MVC dans cet exemple. Pour écrire le code, nous pouvons soit créer un nouveau contrôleur, soit utiliser celui qui existe déjà, ce qui vous permet d'entrer le code et de construire/exécuter le programme.

IdentityServer .NET (Comment ça fonctionne pour les développeurs) : Figure 5 - Le projet d'application web ASP.NET Core (MVC) a été créé avec succès.

Pour tester le code, nous pouvons ensuite ajouter la bibliothèque.

Installer le paquet IdentityServer4

À l'aide de l'interface de programmation .NET ou du gestionnaire de paquets NuGet dans Visual Studio, ajoutez le paquet IdentityServer4 à votre projet. À l'aide de la console du gestionnaire de paquets ou d'un terminal, saisissez la commande suivante pour installer la dernière version du paquet :

Install-Package IdentityServer4
Install-Package IdentityServer4

Configurer IdentityServer4 dans un projet .NET Core

Dans votre application ASP.NET Core, configurez IdentityServer4 en ajoutant le middleware et les services d'authentification requis au fichier Startup.cs. Un exemple de code d'introduction à la configuration d'IdentityServer4 est fourni ici :

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();
    }
}

Configurer les clients, les ressources d'identité et les ressources API

Configurer les clients, les ressources d'identité (périmètres), la configuration, la base de données et les ressources API est nécessaire pour IdentityServer4. Ces configurations peuvent être définies dans une classe différente, comme 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; }
}

En suivant ces instructions, vous pouvez activer l'authentification et l'autorisation sécurisées dans vos apps ASP.NET Core en créant et en configurant IdentityServer4 dans un projet C#.

Premiers pas avec IdentityServer4 avec IronPDF

Ces instructions vous guideront à travers la configuration de IdentityServer4 pour l'authentification et l'autorisation sécurisées de code et l'utilisation de IronPDF pour créer des documents PDF dans un projet C#. Vous apprendrez à créer un projet à partir d'une configuration de base en suivant ces instructions.

Qu'est-ce qu'IronPDF ?

Pour utilisation dans des applications .NET, IronPDF est une bibliothèque riche en fonctionnalités pour interagir avec des documents PDF. Grâce à ses nombreuses fonctionnalités, les utilisateurs peuvent créer des PDF à partir de zéro ou d'un contenu HTML, ainsi qu'ajouter, supprimer ou réorganiser des sections de documents PDF existants. IronPDF offre aux développeurs une API robuste pour produire, modifier et convertir des fichiers PDF, ce qui simplifie l'utilisation des PDF dans les applications .NET.

IdentityServer .NET (Comment cela fonctionne pour les développeurs) : Figure 6 - IronPDF for .NET : La bibliothèque PDF C#

Principales caractéristiques d'IronPDF

Conversion de HTML en PDF

Avec IronPDF, vous pouvez produire des documents PDF de haute qualité en utilisant du contenu HTML, y compris JavaScript et CSS. Cette fonctionnalité est très utile pour créer des PDF à partir de sites web ou d'informations dynamiques.

Modification et amélioration des PDF

IronPDF vous permet de modifier des documents PDF déjà existants. On peut combiner plusieurs PDFs en un seul document, extraire des pages d'un PDF, et ajouter du texte, des photos, des filigranes ou des commentaires.

Création immédiate d'un PDF

Grâce à l'API d'IronPDF, vous pouvez ajouter par programmation du texte, des photos, des formes et d'autres objets aux documents PDF nouvellement créés. Il est ainsi possible de générer dynamiquement des factures, des rapports et d'autres documents au format PDF.

Sécurité des PDF

Vous pouvez gérer l'accès et protéger les données critiques en cryptant des documents PDF avec IronPDF et en ajoutant une sécurité par mot de passe.

Formulaires en PDF

Avec IronPDF, les utilisateurs peuvent travailler avec des documents PDF en créant, remplissant et soumettant des formulaires PDF, ainsi qu'en entrant des données dans les champs de formulaire.

Texte à retenir

IronPDF est un outil qui aide à la manipulation, l'analyse et la recherche de données textuelles en extraits d'informations textuelles à partir de documents PDF.

Transformation en formats d'images

IronPDF est utile dans les situations où des photos sont requises à la place des PDF, car il peut convertir des documents PDF en formats d'image courants, notamment PNG, JPEG et BMP.

Installer IronPDF

Utilisez la CLI .NET ou le gestionnaire de packages NuGet pour ajouter dès maintenant la dernière version d'IronPDF à votre projet.

dotnet add package IronPdf
dotnet add package IronPdf

Intégrer IronPDF avec IdentityServer4 C&num ;

Configurez les services et le middleware requis pour IdentityServer4 dans votre fichier Startup.cs, comme dans le code ci-dessus. Créez ensuite un nouveau contrôleur MVC nommé PdfController.cs pour gérer la génération de PDF à l'aide d'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");
    }
}

L'intégration d'IronPDF à IdentityServer4 dans une application C# consiste à utiliser IdentityServer4 pour mettre en place une authentification et une autorisation sécurisées des utilisateurs, puis IronPDF pour créer des documents PDF qui ne sont accessibles qu'aux utilisateurs authentifiés. Dans l'exemple de code fourni, IdentityServer4 est configuré dans le fichier Startup.cs pour gérer la gestion de l'identité des utilisateurs par le biais de configurations en mémoire et pour gérer les informations d'identification des clients.

Seuls les utilisateurs autorisés peuvent accéder aux opérations du PdfController car il est protégé par l'attribut [Authorize]. Ce contrôleur utilise une méthode asynchrone pour rendre les informations HTML au format PDF à l'aide de la bibliothèque IronPDF. Les étapes du processus de génération de PDF consistent à construire un moteur de rendu ChromePdfRenderer ; transformer le texte HTML en document PDF ; et renvoyer le PDF en tant que fichier de réponse.

Pour combiner une sécurité forte avec des capacités de génération dynamique de documents, l'intégration incorpore la logique de génération de PDF dans un point final sécurisé, garantissant que seuls les utilisateurs qui ont été vérifiés par IdentityServer4 peuvent initier la création de PDF. Cette méthode fonctionne particulièrement bien dans les applications qui doivent traiter des documents en toute sécurité, y compris la création de factures, de rapports ou de contenu personnalisé basé sur des informations spécifiques à l'utilisateur, tout en appliquant un contrôle d'accès rigoureux via IdentityServer4.

IdentityServer .NET (Fonctionnement pour les développeurs) : Figure 7 - PDF de sortie généré à l'aide de IronPDF avec authentification et autorisation sécurisées de l'utilisateur fournies par IdentityServer4.

Conclusion

Pour résumer, l'intégration de IdentityServer4 avec IronPDF dans un projet C# associe avec succès une sécurité renforcée à la capacité de créer des PDFs dynamiques. En offrant une méthode unique et standardisée de gestion des identités des utilisateurs et du contrôle d'accès à travers plusieurs applications et services, IdentityServer4 garantit une authentification et une autorisation des utilisateurs sécurisées. Grâce à l'utilisation de IronPDF, les développeurs peuvent produire des documents PDF de qualité supérieure accessibles uniquement par des utilisateurs autorisés, le tout basé sur des données d'utilisateurs vérifiées.

Cette intégration améliore la sécurité et la fonctionnalité de l'application, ce qui la rend idéale pour des scénarios tels que la création de factures, de rapports et de contenus personnalisés qui nécessitent un traitement sécurisé des documents. Tout bien considéré, la combinaison de IdentityServer4 et IronPDF offre une option solide pour créer des applications sûres, efficaces et axées sur l'utilisateur au sein du framework .NET.

Lorsque les technologies IronPDF et Iron Software sont intégrées dans votre pile de développement d'applications d'entreprise, IronPDF peut fournir une documentation riche en fonctionnalités pour les développeurs ainsi que des solutions logicielles premium pour les clients et les utilisateurs finaux. Cette base solide facilitera également les projets, les systèmes dorsaux et l'amélioration des processus.

IronPDF Suite, une combinaison de 9 produits API .NET différents, est disponible à un prix de licence compétitif !

Ces technologies sont d'excellents choix pour les projets de développement de logiciels modernes en raison de leur documentation détaillée, de la communauté active de développeurs en ligne et des mises à jour régulières.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT
OData C# (Comment ça marche pour les développeurs)
SUIVANT >
Flurl C# (Comment ça marche pour les développeurs)