Passer au contenu du pied de page
.NET AIDE

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

La sécurité est cruciale dans l'architecture logicielle d'aujourd'hui, en particulier en ce qui concerne les autorisations et l'authentification des utilisateurs. As a top framework for implementing OpenID Connect and OAuth 2.0, IdentityServer4 offers a reliable option for centralized authorization and authentication in distributed networks. Lorsque les développeurs utilisent IronPDF, une puissante bibliothèque C# pour la génération de PDF, en parallèle avec une gestion sécurisée des identités, ils peuvent facilement combiner les deux pour créer des documents PDF répondant à divers besoins d'application.

IdentityServer4 fournit une solution modulaire basée sur des normes qui simplifie l'installation de la gestion des identités. Il aide les développeurs à 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 divers services et 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 à plusieurs facteurs.

This tutorial will cover the C# integration of IdentityServer4 with IronPDF, showing how to use IdentityServer4 to create secure processes for authorization and authentication and how to use the user identities created to customize IronPDF's PDF document creation. Nous aborderons comment améliorer la sécurité et la fonctionnalité de vos applications C#, depuis la configuration d'IdentityServer4 en tant que fournisseur d'identité et d'authentification centralisé jusqu'à l'intégration d'IronPDF pour la production dynamique de PDF.

Qu'est-ce qu'IdentityServer4 C#?

Un cadre open-source très apprécié appelé IdentityServer4 est utilisé dans les applications .NET et C# pour effectuer la gestion des identités, l'autorisation, et l'authentification. C'est une solution flexible pour sécuriser les applications web, les API, et les microservices car elle se conforme aux protocoles de sécurité modernes tels qu'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'émission de jetons d'accès valides, et la validation des identifiants. Il donne aux programmeurs la possibilité d'intégrer l'authentification fédérée et la connexion unique (SSO) dans plusieurs applications et services, offrant ainsi une expérience utilisateur finale sûre et transparente.

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

Caractéristiques d'IdentityServer4

SSO, or single sign-on

Sans avoir à ressaisir leurs identifiants, les utilisateurs peuvent accéder à différentes applications ou services avec une seule authentification.

Support d'OpenID Connect et OAuth 2.0

IdentityServer4 offre des protocoles standard de l'industrie pour une authentification et une autorisation sécurisées, offrant compatibilité et support pour une large gamme d'applications client et de plateformes.

Configuration adaptable

Les développeurs peuvent personnaliser les paramètres de sécurité pour correspondre aux exigences spécifiques de l'application, car ils ont un contrôle précis sur la façon dont les politiques d'authentification et de permission sont configurées.

Connectivité à ASP.NET Core

L'authentification pour les applications web et les API ASP.NET Core est facile à implémenter grâce à l'intégration transparente d'IdentityServer4 avec le cadre.

Personnalisation et adaptabilité

En raison de la grande extensibilité et personnalisation du cadre, les développeurs peuvent ajouter de nouveaux magasins d'utilisateurs, fournisseurs d'identité, utilisateurs de test, et flux d'authentification selon les besoins.

Vérification des utilisateurs

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

Politiques d'autorisation

Les développeurs peuvent créer des politiques d'autorisation précises basées sur les rôles des utilisateurs, les revendications ou d'autres critères pour s'assurer que seuls les utilisateurs autorisés peuvent accéder à des ressources particulières ou effectuer des actions spécifiques au sein de l'application.

Gestion des jetons

IdentityServer4 gère les jetons d'accès, les jetons de rafraîchissement, et les jetons d'identité, fournissant une méthode sécurisée d'authentification des utilisateurs et de permission d'accès aux ressources protégées par le serveur d'identité.

Création et configuration

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

Création d'un nouveau projet dans Visual Studio

Après avoir démarré l'application Visual Studio, sélectionnez l'option "Créer un nouveau projet", ou choisissez le menu Fichier > Ajouter > "Nouveau projet". Ensuite, choisissez "Asp.NET Core Web App (Model-View-Controller)" après avoir choisi "nouveau projet". Cette application sera utilisée pour la génération de documents PDF dans ce tutoriel.

 related to Création d'un nouveau projet dans Visual Studio option Nouveau projet. Ensuite, 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 .NET Framework nécessaire en cliquant sur le bouton Créer, comme indiqué dans la capture d'écran ci-dessous.

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

Déterminez le cadre nécessaire et cliquez sur le bouton Créer.

IdentityServer .NET (Comment ça fonctionne pour les développeurs) : Figure 4 - Spécifiez des informations supplémentaires comme le Cadre, le type d'authentification, choisissez si vous souhaitez configurer pour HTTPs et activer Docker. Ensuite, cliquez sur Créer.

La structure de l'application choisie sera 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à pour entrer le code et construire/exécuter le programme.

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

Pour tester le code, ajoutez la bibliothèque nécessaire.

Installer le paquet IdentityServer4

Utilisez l'interface en ligne de commande .NET ou le gestionnaire de paquets NuGet dans Visual Studio pour ajouter le paquet IdentityServer4 à votre projet. En utilisant la console du Gestionnaire de paquets ou un terminal, tapez la commande suivante pour installer la dernière version du paquet :

Install-Package IdentityServer4

Configurer IdentityServer4 dans le projet .NET Core

Dans votre application ASP.NET Core, configurez IdentityServer4 en ajoutant le middleware d'authentification requis et les services au fichier Startup.cs. Un exemple de code introductif de 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();
    }
}
Imports Microsoft.AspNetCore.Builder
Imports Microsoft.AspNetCore.Hosting
Imports Microsoft.Extensions.DependencyInjection
Imports Microsoft.Extensions.Hosting

Public Class Startup
	Public Sub ConfigureServices(ByVal services As IServiceCollection)
		services.AddIdentityServer().AddInMemoryClients(Config.Clients).AddInMemoryIdentityResources(Config.IdentityResources).AddInMemoryApiScopes(Config.ApiScopes).AddInMemoryApiResources(Config.ApiResources).AddTestUsers(Config.Users)
	End Sub

	Public Sub Configure(ByVal app As IApplicationBuilder, ByVal env As IWebHostEnvironment)
		If env.IsDevelopment() Then
			app.UseDeveloperExceptionPage()
		End If
		app.UseIdentityServer()
	End Sub
End Class
$vbLabelText   $csharpLabel

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

Configurer les clients, les ressources d'identité (périmètres), et les ressources API pour IdentityServer4 est nécessaire. Ces configurations peuvent être définies dans une classe séparée, 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; }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

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

Commencer avec IdentityServer4 avec IronPDF

These instructions will guide you through configuring IdentityServer4 for secure authentication and authorization and using IronPDF to create PDF documents in a C# project. Vous apprendrez à créer un projet basé sur une configuration de base en suivant ces étapes.

Qu'est-ce qu'IronPDF ?

IronPDF est une bibliothèque complète pour interagir avec les documents PDF dans les applications .NET. Avec son ensemble de fonctionnalités étendu, les utilisateurs peuvent créer des PDF à partir de zéro ou à partir de 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, simplifiant ainsi la gestion de PDF dans les applications .NET.

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

Caractéristiques clés 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 utile lors de la création de PDF à partir de sites web ou de contenu dynamique.

Modification et amélioration des PDF

IronPDF vous permet de modifier les documents PDF existants. Vous pouvez combiner plusieurs PDF en un seul document, extraire des pages d'un PDF, et ajouter du texte, des images, des filigranes, ou des annotations.

Création de PDF à la volée

Avec l'API d'IronPDF, vous pouvez ajouter programmatiquement du texte, des images, des formes, et d'autres objets à des documents PDF nouvellement créés. Cela permet une génération dynamique de PDF pour les factures, rapports, et autres sorties basées sur des documents.

Sécurité des PDF

You can manage access and safeguard sensitive data by encrypting PDF documents with IronPDF and adding password protection.

Formulaires PDF

IronPDF permet aux utilisateurs de créer, remplir, et soumettre des formulaires PDF, ainsi que de remplir des données dans les champs de formulaire.

Extraction de texte

IronPDF aide à la manipulation, à l'analyse, et à la recherche de données textuelles en extrait des informations textuelles des documents PDF.

Conversion en formats d'image

IronPDF peut convertir des documents PDF en formats d'image courants, tels que PNG, JPEG, et BMP, ce qui est utile lorsque des images sont nécessaires à la place des PDF.

Installer IronPDF

Utilisez l'interface en ligne de commande .NET ou le gestionnaire de paquets NuGet pour ajouter la dernière version de IronPDF à votre projet.

Install-Package IronPdf

Intégrer IronPDF avec IdentityServer4 C#

Configurez les services et le middleware nécessaires pour IdentityServer4 dans votre fichier Startup.cs, comme montré dans le code ci-dessus. Ensuite, créez 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");
    }
}
Imports Microsoft.AspNetCore.Authorization
Imports Microsoft.AspNetCore.Mvc
Imports IronPdf
Imports System.Threading.Tasks

<Authorize>
Public Class PdfController
	Inherits Controller

	Public Async Function GeneratePdf() As Task(Of IActionResult)
		' Create IronPDF Renderer
		Dim renderer = New IronPdf.ChromePdfRenderer()

		' HTML content to be converted to PDF
		Dim htmlContent As String = "<h1>Hello, IronPDF!</h1><p>This is a generated PDF document.</p>"

		' Convert HTML to PDF asynchronously
		Dim pdfDocument = Await Task.Run(Function() renderer.RenderHtmlAsPdf(htmlContent))

		' Return the PDF as a file
		Return File(pdfDocument.BinaryData, "application/pdf", "example.pdf")
	End Function
End Class
$vbLabelText   $csharpLabel

L'intégration d'IronPDF avec IdentityServer4 implique la mise en place d'une authentification et d'une autorisation sécurisées avec IdentityServer4 d'abord, suivie par l'utilisation d'IronPDF pour créer des documents PDF accessibles uniquement par des utilisateurs authentifiés. Dans l'exemple de code fourni, IdentityServer4 est configuré dans le fichier Startup.cs pour gérer la gestion des identités utilisateurs à travers des configurations en mémoire et des informations d'identification de client.

Le PdfController est gardé avec l'attribut [Authorize], garantissant que seuls les utilisateurs autorisés peuvent accéder à ses opérations. Ce contrôleur utilise une méthode asynchrone pour rendre du contenu HTML au format PDF en utilisant la bibliothèque IronPDF. Ce processus de génération de PDF implique la création d'un rendu ChromePdfRenderer, la conversion de contenu HTML en document PDF, et le retour du PDF sous forme de réponse de fichier.

En intégrant la logique de génération de PDF dans un point d'accès sécurisé, seuls les utilisateurs authentifiés par IdentityServer4 peuvent initier la génération de PDF, combinant ainsi une sécurité forte avec des capacités de génération de documents dynamiques. Cette configuration est particulièrement avantageuse pour les applications nécessitant une gestion sécurisée des documents, comme la création de factures, de rapports, ou de contenu personnalisé basé sur des informations utilisateur spécifiques, tout en appliquant un contrôle d'accès strict grâce à IdentityServer4.

IdentityServer .NET (Comment ça fonctionne pour les développeurs) : Figure 7 - Sortie PDF générée à l'aide d'IronPDF avec une authentification et une autorisation utilisateur sécurisées fournies par IdentityServer4.

Conclusion

In summary, the integration of IdentityServer4 with IronPDF in a C# project effectively merges robust security with dynamic PDF generation capabilities. IdentityServer4 offre une approche unifiée et standardisée pour gérer les identités des utilisateurs et le contrôle d'accès à travers plusieurs applications et services, assurant une authentification et une autorisation utilisateur sécurisées. En utilisant IronPDF, les développeurs peuvent produire des documents PDF de haute qualité qui ne sont accessibles qu'aux utilisateurs authentifiés, le tout basé sur des données utilisateur vérifiées.

Cette intégration améliore la sécurité et la fonctionnalité de l'application, la rendant idéale pour des scénarios tels que la génération de factures, de rapports, et de contenu personnalisé nécessitant un traitement sécurisé des documents. Overall, the combination of IdentityServer4 and IronPDF provides a compelling solution for developing secure, efficient, and user-oriented applications within the .NET framework.

When IronPDF and Iron Software technologies are integrated into your enterprise application development stack, IronPDF can provide feature-rich developer documentation and premium software solutions for customers and end users. Cette base solide facilitera également l'amélioration des projets, des systèmes backend, et des processus.

IronPDF Suite, a combination of 9 different .NET API products, is available for a prix de licence compétitif! Ces technologies sont d'excellents choix pour les projets de développement logiciel modernes en raison de leur documentation complète, de leur communauté de développeurs en ligne active, et de leurs mises à jour régulières.

Questions Fréquemment Posées

Comment IronPDF peut-il être utilisé pour convertir du HTML en PDF dans une application .NET ?

IronPDF fournit des méthodes comme RenderHtmlAsPdf qui permettent aux développeurs de convertir des chaînes HTML en documents PDF au sein d'une application .NET. Il prend également en charge la conversion de fichiers HTML entiers ou d'URL en PDF, en faisant un outil polyvalent pour la conversion de documents.

Quel rôle joue IdentityServer4 dans la sécurisation des applications .NET ?

IdentityServer4 joue un rôle crucial dans la sécurisation des applications .NET en fournissant des services d'authentification et d'autorisation centralisés. Il permet aux développeurs de mettre en œuvre des protocoles comme OpenID Connect et OAuth 2.0, permettant une gestion sécurisée des utilisateurs et la protection des ressources.

Pouvez-vous intégrer la génération de PDF avec une authentification sécurisée dans une application C# ?

Oui, il est possible d'intégrer la génération de PDF avec une authentification sécurisée dans une application C#. En utilisant IdentityServer4 pour l'authentification sécurisée et IronPDF pour générer des PDF, les développeurs peuvent s'assurer que seuls les utilisateurs authentifiés ont accès aux documents sensibles, améliorant ainsi la sécurité et la conformité.

Quelles sont les étapes pour configurer IdentityServer4 dans un projet .NET ?

Pour configurer IdentityServer4 dans un projet .NET, les développeurs doivent installer le package IdentityServer4 via NuGet, le configurer dans le fichier Startup.cs, et configurer des clients pour l'authentification. Cela assure que l'application peut gérer les identités et les autorisations des utilisateurs de manière sécurisée.

Comment IronPDF améliore-t-il la sécurité des documents dans les applications .NET ?

IronPDF améliore la sécurité des documents en permettant aux développeurs d'ajouter des fonctionnalités comme le chiffrement et la protection par mot de passe aux fichiers PDF. Cela garantit que les informations sensibles contenues dans les PDF ne sont accessibles qu'aux utilisateurs autorisés, en accord avec les meilleures pratiques de protection des données.

Quelles sont les méthodes d'authentification courantes prises en charge par IdentityServer4 ?

IdentityServer4 prend en charge des méthodes d'authentification courantes telles que les identifiants utilisateur/mot de passe, les connexions sociales et l'authentification multi-facteurs. Cette flexibilité permet aux développeurs de créer des flux d'authentification sécurisés et conviviaux adaptés aux besoins de leur application.

Comment pouvez-vous gérer les jetons avec IdentityServer4 ?

IdentityServer4 permet aux développeurs de gérer efficacement les jetons grâce à son support pour OAuth 2.0. Il fournit des fonctionnalités pour l'émission, la validation et la révocation de jetons, ce qui est essentiel pour contrôler l'accès aux ressources de l'application en fonction du statut d'authentification de l'utilisateur.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite