IRONSOFTWAREHOME
开发者更新

Dotnetopenauth .NET Core(开发人员如何使用)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月23日

DotNetOpenAuth .NET Core 是最初的DotNetOpenAuth库的一个版本,适用于.NET Core,提供了一个强大的公共API。 此库可帮助您将 OAuth2 和 OpenID 身份验证添加到您的 .NET 应用程序中。 IronPDF 是一个用于在 .NET 中创建、读取和编辑 PDF 文件的库。 它对于直接从您的 .NET 应用程序生成报告和发票等文档非常有用。

您可以在各种类型的项目中使用 DotNetOpenAuth .NET Core 和 IronPDF,例如 Web 和桌面应用程序,以利用共享代码并实现新功能。 对于希望在其软件中处理身份验证和 PDF 文档管理的开发人员来说,它们是必不可少的。

DotNetOpenAuth .NET Core 入门

在 .NET 项目中设置 DotNetOpenAuth .NET Core

要开始在 Microsoft 技术支持的 .NET 项目中使用 DotNetOpenAuth .NET Core,请按照以下步骤操作:

1.在 Visual Studio 中打开您的项目。 2. 转到解决方案资源管理器。 3. 右键单击您的项目名称。 4. 选择Manage NuGet Packages。 5. 在NuGet包管理器中,搜索DotNetOpenAuth.NetCore和其他NuGet包。 6. 点击Install将其添加到您的项目中。

这将向您的项目中添加 DotNetOpenAuth .NET Core 库,提供集成身份验证功能的支持。

使用 DotNetOpenAuth .NET Core 的基本代码示例

这是一个简单的示例,显示了如何使用 DotNetOpenAuth .NET Core 在您的应用程序中设置 OAuth2 身份验证:

using DotNetOpenAuth.OAuth2;

// Initialize the OAuth2 client with the authorization server details
var client = new WebServerClient(new AuthorizationServerDescription
{
    TokenEndpoint = new Uri("https://your-auth-server.com/token"),
    AuthorizationEndpoint = new Uri("https://your-auth-server.com/authorize")
}, "your-client-id", "your-client-secret");

// Start the authentication process and get the authorization state
IAuthorizationState state = client.ProcessUserAuthorization();
if (state != null && state.IsAuthorized)
{
    // Authorized successfully, now you can access protected resources
}

此代码片段使用 DotNetOpenAuth .NET Core 设置 OAuth2 客户端,连接到授权服务器并处理用户授权。

实现 DotNetOpenAuth .NET Core 的功能

集成 OpenID Connect

要使用 DotNetOpenAuth .NET Core 集成 OpenID Connect,您可以按照这种基本方法:

using DotNetOpenAuth.OAuth2;

// Configure the OpenID Connect client with authority details
var openIdClient = new WebServerClient(new AuthorizationServerDescription
{
    TokenEndpoint = new Uri("https://your-openid-provider.com/token"),
    AuthorizationEndpoint = new Uri("https://your-openid-provider.com/authorize")
}, "your-client-id");

// Redirect user for authentication
Uri authUri = openIdClient.GetAuthorizationRequestUri("openid email profile");
Response.Redirect(authUri.AbsoluteUri);

该代码配置了一个 OpenID Connect 客户端,并将用户重定向到 OpenID 提供者的身份验证页面。

处理访问令牌

以下是如何使用 DotNetOpenAuth .NET Core 处理访问令牌:

// After the user is authenticated, process the authorization response to retrieve the token
IAuthorizationState authState = openIdClient.ProcessUserAuthorization();
if (authState != null && authState.IsAuthorized)
{
    // Access token is available, and you can use it to make authenticated requests
    string accessToken = authState.AccessToken;
}

此代码片段处理用户授权响应以检索并使用访问令牌。

刷新令牌

要在令牌过期时刷新令牌,请使用以下代码:

// Check if the access token is expired and refresh it
if (authState.AccessTokenExpirationUtc <= DateTime.UtcNow)
{
    if (openIdClient.RefreshAuthorization(authState))
    {
        // Token refreshed successfully
    }
}

此代码检查当前令牌是否已过期,并尝试刷新它。

撤销令牌

如果需要撤销令牌,请按照如下显示的方式实现:

// Revoke the access token
bool success = openIdClient.RevokeAuthorization(authState);
if (success)
{
    // Token revoked successfully
}

此代码片段撤销了授权,有效地使访问令牌失效。

自定义令牌请求

要根据特定需求自定义令牌请求,例如添加额外的参数:

// Customize the token request with additional parameters
var additionalParams = new Dictionary<string, string>
{
    {"custom_parameter", "value"}
};
IAuthorizationState customizedState = openIdClient.ProcessUserAuthorization(additionalParams);
if (customizedState != null && customizedState.IsAuthorized)
{
    // Token request customized and processed successfully
}

此代码向令牌请求中添加了自定义参数,这对于处理授权服务器的特定要求可能很有用。

DotNetOpenAuth .NET Core 与 IronPDF

IronPDF 是一个综合性的库,允许开发人员在 .NET 环境中创建、读取和操作 PDF 文件。 它特别适用于从 HTML 或直接从 URL 生成 PDF,这对于报告、生成发票或只是在静态格式中存储网页都非常实用。 当与 DotNetOpenAuth .NET Core 集成时,它确保这些功能仅对经过身份验证的用户是安全和可访问的。

将 IronPDF 与 DotNetOpenAuth .NET Core 合并的使用案例

将 IronPDF 与 DotNetOpenAuth .NET Core 合并的一个实际使用案例是在 Web 应用程序中,经过身份验证的用户需要生成和下载个性化报告。 例如,想象一个场景,用户登录到您的应用程序并以 PDF 形式访问他们的财务报告。 DotNetOpenAuth 确保用户被正确验证和授权以访问他们的文档,而 IronPDF 负责创建和传递这些个性化的 PDF。

用例的代码示例

让我们看看一个完整的代码示例,展示如何实现这一点。 我们将创建一个简单的 .NET Core Web API,它对用户进行身份验证,然后使用 IronPDF 生成 PDF 报告:

using IronPdf;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Authorization;

[Route("api/[controller]")]
[ApiController]
public class ReportController : ControllerBase
{
    [Authorize]
    [HttpGet("download-pdf")]
    public IActionResult DownloadPdfReport()
    {
        // Authentication is handled by DotNetOpenAuth .NET Core
        var currentUser = HttpContext.User.Identity.Name;

        // Generate PDF content using IronPDF
        var Renderer = new ChromePdfRenderer();
        var PDF = Renderer.RenderHtmlAsPdf($"<h1>Report for {currentUser}</h1><p>This is your personalized financial report.</p>");

        // Set file name and content type for the PDF
        var outputFileName = $"Report-{currentUser}.pdf";
        Response.Headers.Add("Content-Disposition", $"attachment; filename={outputFileName}");
        Response.ContentType = "application/pdf";

        // Return the generated PDF file
        return File(PDF.Stream.ToArray(), "application/pdf");
    }
}

在这个例子中,我们使用[Authorize]属性来确保只有经过身份验证的用户可以访问PDF生成端点。 IronPDF中的ChromePdfRenderer类用于从HTML内容创建PDF,在这种情况下,是动态个性化用户的姓名。

DotNetOpenAuth .NET Core(开发人员如何使用):图1

结论

将 DotNetOpenAuth .NET Core 与 IronPDF 集成为提升您 .NET 应用程序的安全性和功能性提供了强大解决方案。 通过利用这些技术,您可以有效保护敏感数据,并通过动态 PDF 生成提供个性化的用户体验。

IronPDF 不仅多功能,而且对开发人员友好,提供了一种在 .NET 应用程序中创建和管理 PDF 文件的简单方法。 如果考虑将 IronPDF 集成到您的项目中,建议探索IronPDF 官方网站以获取免费试用和许可选项。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起