.NET ヘルプ

IdentityServer .NET (開発者のための仕組み)

イントロダクション

今日のソフトウェア・アーキテクチャにおいて、セキュリティは極めて重要である。 分散ネットワークにおいて、OpenID ConnectおよびOAuth 2.0を実践するためのトップフレームワークとして、IdentityServer4は中央集権型の認可および認証のための信頼できるオプションを提供します。 開発者がIronPDFという強力なC#ライブラリと安全なアイデンティティ管理を組み合わせると、さまざまなアプリケーション要件を満たすPDFドキュメントを簡単に作成できます。

IdentityServer4 は、アイデンティティ管理のインストールを容易にする、モジュール式で標準ベースのソリューションを提供します。 IdentityServer4があれば、開発者はさまざまなサービスやアプリのユーザー認証、アクセス、トークンの検証・発行、権限検証を行う一元化されたIDプロバイダを作成することができます。IdentityServer4は、ユーザー名/パスワード、ソーシャルログイン、多要素認証など多くの認証方法をサポートするため、開発者は安全で直感的な認証エクスペリエンスを作成できます。

このチュートリアルでは、IdentityServer4 の C# 統合と IronPDF について説明します。IdentityServer4 を使用して認証と認可のための安全なプロセスを作成する方法と、作成されたユーザーIDを使用して IronPDF のPDFドキュメント作成をカスタマイズする方法を紹介します。 IdentityServer4を一元化されたIDおよび認証プロバイダーとして設定する方法から、IronPDFを統合してダイナミックPDFを作成する方法まで、C#アプリケーションのセキュリティと機能を向上させる方法について説明します。

IdentityServer4 c#とは何ですか?

IdentityServer4 と呼ばれる人気のあるオープンソースのフレームワークは、.NET および C# アプリケーションでアイデンティティ管理、認可、および認証を実行するために使用されます。 OpenID ConnectやOAuth 2.0のような最新のセキュリティ・プロトコルに準拠しているため、ウェブ・アプリケーション、API、マイクロサービスを保護するための柔軟なソリューションである。

IdentityServer4 は、基本的に集中認証サーバーとして機能し、ユーザー識別と権限管理のコアアイデンティティ、有効なアクセス トークンの発行、および資格情報の検証を処理します。 これにより、プログラマーは連合認証とシングルサインオン (SSO) を複数のアプリケーションやサービスに統合し、安全でスムーズなエンドユーザーエクスペリエンスを実現することができます。

IdentityServer .NET (開発者向けの動作方法): 図1 - IdentityServer4: ASP.NET Core Identityの使用

IdentityServer4の特徴

SSO(シングルサインオン

認証情報を再入力することなく、ユーザーは1回の認証で異なるアプリケーションやサービスにアクセスできる。

OpenID ConnectとOAuth 2.0のサポート

幅広いクライアントアプリケーションとプラットフォームとの互換性を提供し、サポートするために、IdentityServer4 は安全な認証と承認のための業界標準プロトコルを提供している。

適応可能なセットアップ

開発者は、認証と許可ポリシーの構成方法を細かく制御できるため、特定のアプリケーション要件に合わせてセキュリティ設定をカスタマイズできる。

.NET Coreとの接続性

IdentityServer4 のフレームワークとのスムーズな統合により、ASP.NET Core Web アプリや API の認証は簡単に実装できます。

パーソナライゼーションと適応性

フレームワークは拡張性とカスタマイズ性に優れているため、開発者は必要に応じて新しいユーザー・ストア、IDプロバイダー、テスト・ユーザー、認証ワークフローを追加することができる。

ユーザー検証

IdentityServer4 は、Web アプリケーションの要件に最適な認証メカニズム構成を柔軟に選択できる。 これらのメカニズムには、ユーザー名/パスワード、ソーシャルログイン(GoogleやFacebookなど)、および外部IDプロバイダー(Active DirectoryやAzure ADなど)が含まれます。

認可に関する方針

認可されたユーザのみが特定のリソースにアクセスしたり、アプリケーション内で特定のアクションを実行できることを保証するために、開発者はユーザのロール、クレーム、またはその他の基準に基づいて、きめ細かい認可ポリシーを構築することができます。

トークンの管理

アクセストークン、トークンリフレッシュトークン、ID トークンはすべて IdentityServer4 によって管理され、ID サーバーによって保護されているリソースへのアクセス許可とユーザー認証の安全な方法を提供する。

作成と設定

Visual Studio* の C# プロジェクトで IdentityServer4 を設定するには、以下の手順を実行する 必要がある:

Visual Studioで新しいプロジェクトを作成

Visual Studioアプリケーションを起動したら、"Create a new project "オプションを選択するか、File menu > Add > "New project "を選択します。 次に、「新しいプロジェクト」の選択後、「Asp.NET core Web App (Model-View-Controller)」を選びます。 このチュートリアルでは、このアプリケーションを使ってPDF文書を作成します。

![IdentityServer .NET (開発者向けの動作方法): 図2 - Visual Studioで、ファイルメニューを選択し、> [追加] > 「新しいプロジェクト」オプションを選択します。] その後、「ASP.NET Core Web App」を選択します](/static-assets/pdf/blog/identityserver-net/identityserver-net-2.webp)

ファイルパスを選択し、対応するテキストボックスにプロジェクト名を入力します。 次に、以下のスクリーンショットのように、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パッケージのインストール

.NET CLI または Visual Studio* の NuGet Package Manager を使用して、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

クライアント、ID リソース、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

以下の手順に従い、C# プロジェクトで IdentityServer4 を作成および構成することで、ASP.NET Core アプリで安全な認証および認可を有効にできます。

IronPDFでIdentityServer4を始める

これらの手順は、安全な認証および認可コードのためにIdentityServer4を設定し、C#プロジェクトでPDFドキュメントを作成するためにIronPDFを使用する方法を説明します。 この指示に従って、基本的なセットアップに基づいたプロジェクトの作成方法を学びます。

IronPDFとは何ですか?

.NETアプリケーションで使用するために、IronPDFはPDFドキュメントと対話するための機能豊富なライブラリです。 その豊富な機能セットにより、ユーザーはPDFをゼロから作成したり、HTMLコンテンツから作成したり、既存のPDF文書にセクションを追加したり、削除したり、並べ替えたりすることができます。 IronPDFは開発者にPDFファイルの生成、変更、変換のための堅牢なAPIを提供し、.NETアプリケーションでPDFを扱うことを簡素化します。

IdentityServer .NET(開発者向けの動作方法):図6 - IronPDF for .NET:C# PDFライブラリ

IronPDFの主な機能

HTMLからPDFへの変換

IronPDFを使用すると、HTMLコンテンツを使用して、JavaScriptやCSSを含む高品質のPDFドキュメントを作成できます。 この機能は、ウェブサイトや動的な情報からPDFを作成するときに便利です。

PDFの変更と改善

IronPDFは、既存のPDFドキュメントを変更することを可能にします。複数のPDFを1つのドキュメントに結合したり、PDFからページを抽出したり、テキスト、写真、透かし、またはコメントを追加することができます。

すぐにPDFを作成する

IronPDFのAPIを使えば、新しく作成されたPDFドキュメントにテキスト、写真、図形、その他のオブジェクトをプログラムで追加することができます。 これにより、PDFの請求書や報告書、その他の文書ベースの出力を動的に生成することが可能になります。

PDFのセキュリティ

IronPDFを使用してPDF文書を暗号化し、パスワードセキュリティを追加することでアクセスを管理し、重要なデータを保護できます。

PDFフォーム

IronPDFを使用すると、ユーザーはPDFドキュメントを作成、記入、PDFフォームを送信したり、フォームフィールドにデータを入力することができます。

テキスト

IronPDFは、PDFドキュメントからテキスト情報を抽出することで、テキストデータの操作、分析、検索を支援するツールです。

画像フォーマットへの変換

IronPDFはPDFをPNG、JPEG、BMPなどの一般的な画像フォーマットに変換できるので、PDFの代わりに写真が必要な場合に便利です。

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

IdentityServer4とIronPDFの統合 C#num;

上記のコードと同様に、Startup.cs ファイルで IdentityServer4 に必要なサービスとミドル ウェアを設定する。 次に、IronPDFを使用してPDF生成を処理するPdfController.csという新しいMVCコントローラーを作成します。

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ドキュメントを作成する。 提供されたコード例では、Startup.cs ファイルで IdentityServer4 が構成され、メモリ内構成によってユー ザー ID 管理を処理し、クライアント資格情報を処理している。

[Authorize] 属性で保護されているため、PdfController の操作には認証されたユーザーのみがアクセスできます。 このコントローラは非同期メソッドを使用して、IronPDFライブラリを使用してHTML情報をPDF形式にレンダリングします。 PDF生成プロセスのステップは、ChromePdfRendererレンダラーを構築することです; HTMLテキストをPDFドキュメントに変換する; を送信し、PDFをファイル・レスポンスとして送り返す。

強力なセキュリティとダイナミックな文書生成機能を組み合わせるために、統合は、IdentityServer4によって検証されたユーザーのみがPDF作成を開始できることを保証する、セキュリティで保護されたエンドポイント内にPDF生成ロジックを組み込む。 この方法は、IdentityServer4 を介して厳重なアクセス制御を実施しながら、請求書、レポート、 ユーザ固有の情報に基づくカスタマイズされたコンテンツの作成など、ドキュメントを安全に 扱う必要があるアプリケーションで特に効果的である。

IdentityServer .NET(開発者向けの仕組み):図7 - IdentityServer4によって提供される安全なユーザー認証と認可でIronPDFを使用して生成された出力PDF。

結論

要約すると、C#プロジェクトにおけるIdentityServer4IronPDFの統合は、強力なセキュリティと動的なPDFを作成する能力をうまく組み合わせています。 複数のアプリケーションおよびサービス全体でユーザーの身元とアクセス制御を管理する単一で標準化された方法を提供することにより、IdentityServer4は安全なユーザー認証と認可を保証します。 IronPDFを使用することで、開発者は検証済みのユーザーデータに基づいて、認可されたユーザーのみがアクセス可能な高品質のPDFドキュメントを作成できます。

この統合により、アプリケーションのセキュリティと機能性が向上し、安全な文書処理が求められる請求書、レポート、パーソナライズされたコンテンツの作成などのシナリオに最適です。 すべてを考慮に入れると、IdentityServer4IronPDF の組み合わせは、.NET フレームワーク内で安全で効果的でユーザー中心のアプリケーションを作成するための強力な選択肢を提供します。

IronPDF および Iron Software の技術を企業アプリケーション開発スタックに統合すると、IronPDF は機能豊富な開発者向けドキュメントと、顧客およびエンドユーザー向けのプレミアムソフトウェアソリューションを提供できます。 この強固な基盤があれば、プロジェクトやバックエンドシステム、プロセス強化も容易になる。

IronPDF Suite、9つの異なる.NET API製品を組み合わせたものが、競争力のあるライセンス価格で利用可能です!

これらの技術は、豊富なドキュメント、活発なオンライン開発者コミュニティ、定期的なアップグレードがあるため、最新のソフトウェア開発プロジェクトに最適な選択肢である。

チペゴ
ソフトウェアエンジニア
チペゴは優れた傾聴能力を持ち、それが顧客の問題を理解し、賢明な解決策を提供する助けとなっています。彼は情報技術の学士号を取得後、2023年にIron Softwareチームに加わりました。現在、彼はIronPDFとIronOCRの2つの製品に注力していますが、顧客をサポートする新しい方法を見つけるにつれて、他の製品に関する知識も日々成長しています。Iron Softwareでの協力的な生活を楽しんでおり、さまざまな経験を持つチームメンバーが集まり、効果的で革新的な解決策を提供することに貢献しています。チペゴがデスクを離れているときは、良い本を楽しんだり、サッカーをしていることが多いです。
< 以前
OData C# (開発者のための仕組み)
次へ >
Flurl C# (開発者のための仕組み)