Zum Fußzeileninhalt springen
.NET HILFE

Dotnetopenauth .NET Core (Funktionsweise für Entwickler)

DotNetOpenAuth .NET Core ist eine Version der ursprünglichen DotNetOpenAuth-Bibliothek, die für .NET Core angepasst wurde und eine robuste öffentliche API bietet. Diese Bibliothek hilft Ihnen, Authentifizierung mit OAuth2 und OpenID zu Ihren .NET-Anwendungen hinzuzufügen. IronPDF ist eine Bibliothek zum Erstellen, Lesen und Bearbeiten von PDF-Dateien in .NET. Es ist nützlich für das Erstellen von Dokumenten wie Berichten und Rechnungen direkt aus Ihren .NET-Anwendungen.

Sie können DotNetOpenAuth .NET Core und IronPDF in verschiedenen Arten von Projekten, wie Web- und Desktop-Anwendungen, verwenden, um gemeinsam genutzten Code zu nutzen und neue Funktionen zu implementieren. Sie sind essentiell für Entwickler, die in ihrer Software Authentifizierung und PDF-Dokumenten-Management behandeln möchten.

Einstieg mit DotNetOpenAuth .NET Core

Einrichten von DotNetOpenAuth .NET Core in .NET-Projekten

Um DotNetOpenAuth .NET Core in Ihren .NET-Projekten zu verwenden, die von Microsoft-Technologien unterstützt werden, folgen Sie diesen Schritten:

  1. Öffnen Sie Ihr Projekt in Visual Studio.
  2. Gehen Sie zum Solution Explorer.
  3. Rechtsklick auf Ihren Projektnamen.
  4. Wählen Sie NuGet-Pakete verwalten.
  5. Suchen Sie im NuGet-Paketmanager nach DotNetOpenAuth.NetCore und anderen NuGet-Paketen.
  6. Klicken Sie auf Installieren, um es Ihrem Projekt hinzuzufügen.

Dies wird die DotNetOpenAuth .NET Core-Bibliothek zu Ihrem Projekt hinzufügen und Unterstützung für die Integration von Authentifizierungsfunktionen bieten.

Ein einfaches Codebeispiel mit DotNetOpenAuth .NET Core

Hier ist ein einfaches Beispiel, das zeigt, wie man OAuth2-Authentifizierung in Ihrer Anwendung mit DotNetOpenAuth .NET Core einrichtet:

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
}
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
}
$vbLabelText   $csharpLabel

Dieses Code-Snippet richtet einen OAuth2-Client mit DotNetOpenAuth .NET Core ein, verbindet sich mit einem Autorisierungsserver und verarbeitet die Benutzerautorisierung.

Einführung der Funktionen von DotNetOpenAuth .NET Core

Einbindung von OpenID Connect

Um OpenID Connect mit DotNetOpenAuth .NET Core zu integrieren, können Sie diesen grundlegenden Ansatz verfolgen:

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);
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);
$vbLabelText   $csharpLabel

Dieser Code konfiguriert einen OpenID Connect-Client und leitet den Benutzer auf die Authentifizierungsseite des OpenID-Anbieters um.

Handhabung von Zugriffstoken

Hier ist, wie Sie Zugriffstokens mit DotNetOpenAuth .NET Core verwalten können:

// 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;
}
// 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;
}
$vbLabelText   $csharpLabel

Dieses Snippet verarbeitet die Benutzerautorierungsantwort, um das Zugriffstoken abzurufen und zu verwenden.

Auffrischende Token

Um Tokens zu erneuern, wenn sie ablaufen, verwenden Sie den folgenden Code:

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

Dieser Code überprüft, ob das aktuelle Token abgelaufen ist und versucht, es zu erneuern.

Tokens zurückrufen

Wenn Sie Tokens widerrufen müssen, implementieren Sie es wie unten gezeigt:

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

Dieses Snippet widerruft die Autorisierung und hebt damit das Zugriffstoken effektiv auf.

Anpassen von Token-Anforderungen

Um Token-Anfragen für spezifische Bedürfnisse anzupassen, wie das Hinzufügen von zusätzlichen Parametern:

// 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
}
// 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
}
$vbLabelText   $csharpLabel

Dieser Code fügt benutzerdefinierte Parameter zur Token-Anfrage hinzu, was nützlich sein kann, um mit spezifischen Anforderungen eines Autorisierungsservers umzugehen.

DotNetOpenAuth .NET Core mit IronPDF

IronPDF ist eine umfassende Bibliothek, die es Entwicklern ermöglicht, PDF-Dateien in .NET-Umgebungen zu erstellen, zu lesen und zu manipulieren. Es ist besonders nützlich für das Erstellen von PDFs aus HTML oder direkt von URLs, was großartig für Berichte, Rechnungserstellung oder das Speichern von Webseiten in einem statischen Format ist. Wenn es mit DotNetOpenAuth .NET Core integriert wird, stellt es sicher, dass diese Fähigkeiten sicher und nur authentifizierten Benutzern zugänglich sind.

Benutzungsfall der Zusammenführung von IronPDF mit DotNetOpenAuth .NET Core

Ein praktischer Anwendungsfall für die Zusammenführung von IronPDF mit DotNetOpenAuth .NET Core ist in einer Webanwendung, in der authentifizierte Benutzer personalisierte Berichte erzeugen und herunterladen müssen. Stellen Sie sich zum Beispiel eine Situation vor, in der Benutzer sich in Ihre Anwendung einloggen und auf ihre Finanzberichte als PDFs zugreifen. DotNetOpenAuth stellt sicher, dass Benutzer ordnungsgemäß authentifiziert und autorisiert sind, um auf ihre Dokumente zuzugreifen, während IronPDF die Erstellung und Bereitstellung dieser personalisierten PDFs übernimmt.

Code-Beispiel für Anwendungsfall

Schauen wir uns ein vollständiges Codebeispiel an, das zeigt, wie das umgesetzt wird. Wir erstellen eine einfache Web-API in .NET Core, die einen Benutzer authentifiziert und dann einen PDF-Bericht mit IronPDF erstellt:

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");
    }
}
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");
    }
}
$vbLabelText   $csharpLabel

In diesem Beispiel verwenden wir das [Authorize]-Attribut, um sicherzustellen, dass nur authentifizierte Benutzer auf den PDF-Erstellungsendpunkt zugreifen können. Die ChromePdfRenderer-Klasse von IronPDF wird verwendet, um ein PDF aus HTML-Inhalt zu erstellen, der in diesem Fall dynamisch mit dem Namen des Benutzers personalisiert wird.

DotNetOpenAuth .NET Core (How It Works For Developers): Abbildung 1

Abschluss

Die Integration von DotNetOpenAuth .NET Core mit IronPDF bietet eine leistungsstarke Lösung zur Verbesserung der Sicherheit und Funktionalität Ihrer .NET-Anwendungen. Durch die Nutzung dieser Technologien können Sie effektiv sensible Daten schützen und über die dynamische PDF-Erstellung ein personalisiertes Benutzererlebnis bieten.

IronPDF ist nicht nur vielseitig, sondern auch entwicklerfreundlich und bietet einen unkomplizierten Ansatz zur Erstellung und Verwaltung von PDF-Dateien innerhalb von .NET-Anwendungen. Wenn Sie erwägen, IronPDF in Ihr Projekt zu integrieren, wird empfohlen, die offizielle Website von IronPDF für eine kostenlose Testversion und Lizenzierungsmöglichkeiten zu erkunden.

Häufig gestellte Fragen

Wofür wird DotNetOpenAuth .NET Core verwendet?

DotNetOpenAuth .NET Core wird verwendet, um OAuth2- und OpenID-Authentifizierungsfunktionen in .NET-Anwendungen zu integrieren und sichere Authentifizierungsprozesse in Web- und Desktop-Umgebungen zu ermöglichen.

Wie kann ich OAuth2-Authentifizierung zu meiner .NET-Anwendung hinzufügen?

Um OAuth2-Authentifizierung hinzuzufügen, verwenden Sie DotNetOpenAuth .NET Core, um einen WebServerClient mit den Details Ihres Autorisierungsservers zu initialisieren, führen Sie die Benutzer durch den Authentifizierungsprozess und handhaben Sie deren Autorisierungsantwort.

Kann ich in einer .NET-Anwendung PDFs mit Authentifizierung erstellen?

Ja, durch die Integration von DotNetOpenAuth .NET Core für die Authentifizierung und IronPDF für die PDF-Erstellung können Sie sichere, authentifizierte PDF-Dokumente wie personalisierte Berichte und Rechnungen erstellen.

Wie verwaltet man Zugriffstokens in einer .NET-Anwendung?

DotNetOpenAuth .NET Core verwaltet Zugriffstokens, indem es Autorisierungsantworten verarbeitet, sodass Sie Zugriffstokens für sichere, authentifizierte Anfragen abrufen und nutzen können.

Wie kann ich ein Zugriffstoken in .NET Core aktualisieren?

Um ein Zugriffstoken in .NET Core zu aktualisieren, prüfen Sie, ob das Token abgelaufen ist, und verwenden Sie die Methode `RefreshAuthorization`, um ein neues Token zu erhalten und so kontinuierlichen sicheren Zugriff zu gewährleisten.

Was ist der Vorteil der Integration von DotNetOpenAuth mit der PDF-Erstellung?

Die Integration von DotNetOpenAuth mit der PDF-Erstellung ermöglicht einen sicheren Zugriff auf sensible Dokumente, sodass authentifizierte Benutzer personalisierte PDFs wie Berichte und Rechnungen erstellen und herunterladen können.

Wie widerruft man Tokens in einer .NET-Anwendung?

Widerrufen Sie Tokens, indem Sie die Methode `RevokeAuthorization` in DotNetOpenAuth .NET Core implementieren, die das Zugriffstoken ungültig macht und weitere unbefugte Anfragen verhindert.

Wie können Token-Anfragen in der .NET-Authentifizierung angepasst werden?

Sie können Token-Anfragen anpassen, indem Sie zusätzliche Parameter in den Token-Verarbeitungscode einfügen, um spezielle Anforderungen Ihres Autorisierungsservers zu erfüllen.

Welche Schritte sind erforderlich, um OpenID Connect in einem .NET-Projekt einzurichten?

Um OpenID Connect einzurichten, konfigurieren Sie einen OpenID-Connect-Client mit den erforderlichen Autoritätsdetails und leiten Benutzer an, sich über den OpenID-Anbieter zu authentifizieren, und integrieren Sie DotNetOpenAuth .NET Core für eine nahtlose Authentifizierung.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der führend in der C# PDF-Technologie ist. Als ursprünglicher Entwickler der Iron Software-Kerncodebasis hat er die Produktarchitektur des Unternehmens seit seiner Gründung gestaltet und zusammen mit CEO Cameron Rimington in ein Unternehmen ...

Weiterlesen