.NET 幫助

IdentityServer .NET(對開發者的作用)

介紹

在當今的軟體架構中,安全性至關重要,尤其是在用戶許可和身份驗證方面。 作為實現OpenID Connect和OAuth 2.0的頂級框架,IdentityServer4提供了一個在分散網路中進行集中授權與驗證的可靠選擇。 當開發者將IronPDF,一個強大的 C# PDF 生成庫,與安全身份管理結合時,他們可以輕鬆結合兩者以創建符合各種應用程式需求的 PDF 文件。

IdentityServer4 提供了一個模組化、基於標準的解決方案,讓身份管理的安裝更為簡便。 在其幫助下,開發人員可以創建一個集中式身份提供者,負責處理用戶認證、訪問、令牌驗證和發行,以及多個服務和應用的權限驗證。IdentityServer4 支持多種認證方法,如用戶名/密碼、社交登錄和多因素認證,使開發人員能夠創建安全且直觀的認證體驗。

本教程將介紹如何將 C# 的 IdentityServer4IronPDF 整合,展示如何使用 IdentityServer4 建立安全的授權和認證流程,以及如何使用所創建的用戶身份來自定義 IronPDF 的 PDF 文件創建。 我們將討論如何提升您的C#應用程式的安全性和功能,包括配置IdentityServer4為集中式身份和身份驗證提供者,以及整合IronPDF以實現動態PDF生成。

什麼是IdentityServer4 c#?

一個受歡迎的開源框架IdentityServer4被用於.NET和C#應用程式中,以執行身份管理、授權和身份驗證。 由於它符合如 OpenID Connect 和 OAuth 2.0 這樣的當代安全協議,因此它是一個靈活的解決方案,適用於保護網路應用程式、API 和微服務。

IdentityServer4在本質上是一個集中式身份驗證伺服器,負責處理用戶身份識別和權限管理的核心身份、有效存取權杖的發行及憑證驗證。 它使程式設計師能夠將聯合身份驗證和單一登入 (SSO) 集成到多個應用程式和服務中,從而為最終使用者提供安全和流暢的體驗。

IdentityServer .NET(開發人員的工作原理):圖1 - IdentityServer4:使用 ASP.NET Core Identity

IdentityServer4 的功能

SSO,或單一登入

無需重新輸入憑證,用戶即可使用一次身份驗證訪問不同的應用程式或服務。

支援 OpenID Connect 和 OAuth 2.0

為了提供相容性並支援廣泛的客戶端應用程式和平台,IdentityServer4 提供了業界標準的協議,用於安全的身份驗證和授權。

適應性設置

開發人員可以自定義安全設置以符合特定的應用程式需求,因為他們對身份驗證和權限政策的配置具有細緻的控制。

連接到 ASP.NET Core

透過IdentityServer4與框架的順暢整合,在ASP.NET Core網頁應用程式和API中實現身份驗證變得簡單。

個性化和適應性

由於該框架具有高度的可擴展性和可自定義性,開發人員可以根據需要添加新的用戶存儲、身份提供者、測試用戶和身份驗證工作流。

用戶驗證

IdentityServer4 為開發人員提供了選擇最適合其網頁應用程式需求的認證機制配置的靈活性。 這些機制包括用戶名/密碼、社交登入(如Google、Facebook等),以及外部身份提供者(如Active Directory、Azure AD等)。

授權政策

為了保證只有授權用戶才能訪問特定資源或在應用程式內執行特定操作,開發人員可以根據用戶角色、聲明或其他標準建立細緻的授權策略。

代幣管理

存取權杖、權杖刷新權杖和身份權杖全部由 IdentityServer4 管理,它提供用戶身份驗證和授權存取由身份伺服器保護的資源的安全方法。

創建和配置

要在 Visual Studio 的 C# 專案中設置 IdentityServer4,您必須執行以下步驟:

在 Visual Studio 中建立新專案

啟動 Visual Studio 應用程式後,您可以選擇「建立新專案」選項,或者選擇檔案選單 > 新增 >「新專案」。 接下來,在選擇「新專案」後,選擇「Asp.NET core Web 應用程式(模型-視圖-控制器)」。 在本教程中,我們將使用此應用程式製作 PDF 文件。

 related to 在 Visual Studio 中建立新專案 新專案 選項。 然後選擇「ASP.NET Core Web App」" />

選擇檔案路徑,並在相應的文字框中輸入專案名稱。 接下來,點選如下圖所示的「Create」按鈕來選擇必要的 .NET Framework。

![IdentityServer .NET(其對開發者的運作方式):圖 3 - 接下來,通過指定專案名稱和位置來配置您的專案。 點擊 下一步。

接下來,選擇所需的框架並按下創建按鈕。

![IdentityServer .NET(它如何運作以供開發人員使用):圖 4 - 指定其他資訊,例如框架、身份驗證類型,選擇是否要配置為 HTTPs 並啟用 Docker。 然後點擊建立。

Visual Studio 專案現在將生成所選應用程式的結構。 在此範例中,我們使用的是 ASP.NET MVC。 為了編寫代碼,我們可以創建一個新的控制器,或者利用已存在的控制器,這使您可以輸入代碼並構建/運行程序。

IdentityServer .NET(開發者如何運作):圖 5 - ASP.NET Core Web App(MVC)專案已成功建立。

要測試該代碼,我們可以然後添加庫。

安裝 IdentityServer4 套件

在 Visual Studio 中使用 .NET CLI 或 NuGet 套件管理器,將 IdentityServer4 套件添加到您的專案中。 在套件管理器主控台或終端機中,輸入以下命令以安裝套件的最新版本:

Install-Package IdentityServer4
Install-Package IdentityServer4
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

在 .NET Core 專案中配置 IdentityServer4

在您的 ASP.NET Core 應用程式中,透過在 Startup.cs 文件中添加所需的身份驗證中介軟體和服務來配置 IdentityServer4。這裡提供了一個配置 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
$vbLabelText   $csharpLabel

配置客戶端、身份資源和 API 資源

為 IdentityServer4 配置客戶端、身份資源(範圍)、配置、數據庫和 API 資源是必要的。這些配置可以在不同的類中定義,例如 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

通過遵循這些說明,您可以在 ASP.NET Core 應用程式中啟用安全的驗證和授權,方法是以 C# 專案中創建和配置 IdentityServer4。

使用IronPDF開始使用IdentityServer4

這些說明將帶您完成配置IdentityServer4以進行安全驗證和授權碼,並使用IronPDF在 C# 專案中創建 PDF 文件。 您將透過遵循此指導學習如何基於基本設置創建專案。

什麼是 IronPDF?

用於 .NET 應用程式時,IronPDF 是一個功能豐富的庫,用於處理 PDF 文件。 憑藉其豐富的功能集,使用者可以從頭開始創建 PDF 或從 HTML 內容創建 PDF,並且可以添加、移除或重新排列現有 PDF 文檔的部分。 IronPDF 為開發人員提供了一個強大的 API,用於生成、修改和轉換 PDF 文件,簡化了在 .NET 應用程式中處理 PDF 的工作。

IdentityServer .NET(開發人員如何使用):圖 6 - IronPDF for .NET: The C# PDF Library

IronPDF 的主要功能

HTML 轉換為 PDF

使用IronPDF,您可以透過使用HTML內容(包括JavaScript和CSS)製作高品質的PDF文檔。 此功能在從網站或動態信息創建PDF時非常有用。

更改和改進 PDF 文件

IronPDF 允許您修改已存在的 PDF 文件。您可以將多個 PDF 合併成一個文件,從 PDF 中提取頁面,並添加文字、照片、浮水印或評論。

立即製作 PDF

使用 IronPDF 的 API,您可以以程式化方式將文字、照片、形狀和其他物件添加到新建立的 PDF 文件中。 這使得動態生成 PDF 發票、報告及其他基於文件的輸出成為可能。

PDF 的安全性

您可以透過使用 IronPDF 加密 PDF 文件添加密碼安全性來管理訪問並保護關鍵數據。

PDF 中的表單

使用IronPDF,使用者可以處理PDF文件,包括創建、填寫和提交PDF表單,以及在表單欄位輸入資料。

文字要點

IronPDF 是一種工具,可通過從 PDF 文檔中提取文本信息來幫助進行文本數據操作、分析和搜索。

轉換為圖片格式

IronPDF 在需要照片而非 PDF 的情況下非常有用,因為它可以將 PDF 文件轉換成包括 PNG、JPEG 和 BMP 在內的常見圖片格式。

安裝 IronPDF

使用 .NET CLI 或 NuGet 套件管理器將IronPDF的最新版本新增到您的專案中。

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
$vbLabelText   $csharpLabel

將 IronPDF 與 IdentityServer4 C# 集成

在您的 Startup.cs 文件中,為 IdentityServer4 設置所需的服務和中介軟體。類似於上面看到的代碼。 然後建立一個新的 MVC 控制器,命名為 PdfController.cs,以使用 IronPDF 處理 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");
    }
}
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
$vbLabelText   $csharpLabel

使用IdentityServer4設置安全的用戶身份驗證和授權,隨後使用IronPDF創建只有經過身份驗證的用戶才可訪問的PDF文件,這是一個在C#應用程式中將IronPDF與IdentityServer4集成的過程。 提供的代碼示例在 Startup.cs 文件中配置了 IdentityServer4,以通過內存配置處理用戶身份管理並處理客戶端憑證。

只有授權用戶才能訪問 PdfController 的操作,因為它受到 [Authorize] 屬性的保護。 這個控制器使用異步方法利用IronPDF庫將HTML信息渲染成PDF格式。 在 PDF 生成過程中的步驟是建立一個 ChromePdfRenderer 渲染器; 將HTML 文本轉換為 PDF 文件; 並將 PDF 作為文件響應發送回來。

為了結合強大的安全性與動態文件生成功能,整合過程將 PDF 生成邏輯嵌入到安全端點內,確保只有經過 IdentityServer4 驗證的使用者才能啟動 PDF 創建。 此方法特別適用於需要安全處理文件的應用程式,包括創建發票、報告或基於用戶特定資訊的自定義內容,同時透過IdentityServer4執行嚴格的訪問控制。

IdentityServer .NET(對於開發者的運作方式):圖 7 - 使用 IronPDF 生成的輸出 PDF,透過 IdentityServer4 提供安全的用戶身份驗證和授權。

結論

總而言之,IdentityServer4IronPDF 在 C# 專案中的整合成功地將強大的安全性與創建動態 PDF 的能力相結合。 透過提供一種單一且標準化的方法來管理多個應用程式和服務的使用者身份和存取控制,IdentityServer4 確保了安全的使用者身份驗證和授權。 透過使用IronPDF,開發人員可以生成優質PDF文件,這些文件僅允許經過授權的用戶訪問,全部基於經驗證的用戶數據。

這項整合提高了應用程式的安全性和功能,使其非常適合需要安全文件處理的情境,例如創建發票、報告和個性化內容。 總的來說,IdentityServer4IronPDF 的結合提供了一個強力的選項,用於在 .NET 框架中創建安全、有效且以用戶為中心的應用程式。

IronPDFIron Software技術整合進您的企業應用程式開發技術棧時,IronPDF可以為客戶和最終用戶提供功能豐富的開發者文件和高級軟體解決方案。 這個堅實的基礎也將使項目、後端系統和流程增強變得更容易。

IronPDF Suite,結合9種不同的.NET API產品,以具有競爭力的授權價格提供!

由於這些技術具有詳盡的文件說明、活躍的線上開發者社群以及定期升級,是現代軟體開發專案的絕佳選擇。

Chipego
奇佩戈·卡林达
軟體工程師
Chipego 擁有天生的傾聽技能,這幫助他理解客戶問題,並提供智能解決方案。他在獲得信息技術理學學士學位後,于 2023 年加入 Iron Software 團隊。IronPDF 和 IronOCR 是 Chipego 專注的兩個產品,但隨著他每天找到新的方法來支持客戶,他對所有產品的了解也在不斷增長。他喜歡在 Iron Software 的協作生活,公司內的團隊成員從各自不同的經歷中共同努力,創造出有效的創新解決方案。當 Chipego 離開辦公桌時,他常常享受讀好書或踢足球的樂趣。
< 上一頁
OData C#(開發人員如何運作)
下一個 >
Flurl C#(它如何為開發人員工作)