Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
DotNetOpenAuth .NET Core ist eine für .NET Core angepasste Version der ursprünglichen DotNetOpenAuth-Bibliothek und bietet eine robuste öffentliche API. 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, um Dokumente wie Berichte und Rechnungen direkt aus Ihren .NET-Anwendungen zu erstellen.
Sie können DotNetOpenAuth .NET Core und IronPDF in verschiedenen Projekttypen, wie z. B. Web- und Desktop-Anwendungen, verwenden, um gemeinsamen Code zu nutzen und neue Funktionen zu implementieren. Sie sind unverzichtbar für Entwickler, die Authentifizierung und PDF-Dokumentenmanagement in ihrer Software handhaben wollen.
Um DotNetOpenAuth .NET Core in Ihren von Microsoft-Technologien unterstützten .NET-Projekten zu verwenden, führen Sie die folgenden Schritte aus:
Öffnen Sie Ihr Projekt in Visual Studio.
Rufen Sie den Solution Explorer auf.
Klicken Sie mit der rechten Maustaste auf Ihren Projektnamen.
Wählen Sie "NuGet-Pakete verwalten".
Suchen Sie im NuGet Package Manager nach "DotNetOpenAuth.NetCore" und anderen NuGet-Paketen.
Klicken Sie auf "Installieren", um es zu Ihrem Projekt hinzuzufügen.
Dadurch wird die DotNetOpenAuth .NET Core-Bibliothek zu Ihrem Projekt hinzugefügt, die Unterstützung für die Integration von Authentifizierungsfunktionen bietet.
Hier ist ein einfaches Beispiel, das zeigt, wie Sie die OAuth2-Authentifizierung in Ihrer Anwendung mit DotNetOpenAuth .NET Core einrichten:
using DotNetOpenAuth.OAuth2;
// Initialize the OAuth2 client
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
IAuthorizationState state = client.ProcessUserAuthorization();
if (state != null && state.IsAuthorized)
{
// Authorized successfully, now you can access protected resources
}
using DotNetOpenAuth.OAuth2;
// Initialize the OAuth2 client
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
IAuthorizationState state = client.ProcessUserAuthorization();
if (state != null && state.IsAuthorized)
{
// Authorized successfully, now you can access protected resources
}
Imports DotNetOpenAuth.OAuth2
' Initialize the OAuth2 client
Private client = New WebServerClient(New AuthorizationServerDescription With {
.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
Private state As IAuthorizationState = client.ProcessUserAuthorization()
If state IsNot Nothing AndAlso state.IsAuthorized Then
' Authorized successfully, now you can access protected resources
End If
Dieses Code-Snippet richtet einen OAuth2-Client mit DotNetOpenAuth .NET Core ein, stellt eine Verbindung zu einem Autorisierungsserver her und verarbeitet die Benutzerautorisierung.
Um OpenID Connect mit DotNetOpenAuth .NET Core zu integrieren, können Sie diesen grundlegenden Ansatz verfolgen:
using DotNetOpenAuth.OAuth2;
// Configure the OpenID Connect client
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
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);
Imports DotNetOpenAuth.OAuth2
' Configure the OpenID Connect client
Private openIdClient = New WebServerClient(New AuthorizationServerDescription With {
.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
Private authUri As Uri = openIdClient.GetAuthorizationRequestUri("openid email profile")
Response.Redirect(authUri.AbsoluteUri)
Dieser Code konfiguriert einen OpenID Connect-Client und leitet den Benutzer auf die Authentifizierungsseite des OpenID-Anbieters um.
Hier erfahren Sie, wie Sie Zugriffstoken mit DotNetOpenAuth .NET Core handhaben können:
// After user is authenticated, process the authorization response
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 user is authenticated, process the authorization response
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 user is authenticated, process the authorization response
Dim authState As IAuthorizationState = openIdClient.ProcessUserAuthorization()
If authState IsNot Nothing AndAlso authState.IsAuthorized Then
' Access token is available, and you can use it to make authenticated requests
Dim accessToken As String = authState.AccessToken
End If
Dieses Snippet verarbeitet die Antwort auf die Benutzerautorisierung zum Abrufen und Verwenden des Zugriffstokens.
Verwenden Sie den folgenden Code, um Token zu aktualisieren, wenn sie ablaufen:
// 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
}
}
' Check if the access token is expired and refresh it
If authState.AccessTokenExpirationUtc <= DateTime.UtcNow Then
If openIdClient.RefreshAuthorization(authState) Then
' Token refreshed successfully
End If
End If
Dieser Code prüft, ob das aktuelle Token abgelaufen ist und versucht, es zu aktualisieren.
Wenn Sie Token widerrufen müssen, implementieren Sie dies 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
}
' Revoke the access token
Dim success As Boolean = openIdClient.RevokeAuthorization(authState)
If success Then
' Token revoked successfully
End If
Dieses Snippet widerruft die Autorisierung und macht damit das Zugriffstoken ungültig.
Zur Anpassung von Token-Anforderungen an bestimmte Anforderungen, z. B. durch Hinzufügen zusätzlicher Parameter:
// Customize the token request
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
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
Dim additionalParams = New Dictionary(Of String, String) From {
{"custom_parameter", "value"}
}
Dim customizedState As IAuthorizationState = openIdClient.ProcessUserAuthorization(additionalParams)
If customizedState IsNot Nothing AndAlso customizedState.IsAuthorized Then
' Token request customized and processed successfully
End If
Dieser Code fügt der Token-Anforderung benutzerdefinierte Parameter hinzu, die für den Umgang mit spezifischen Anforderungen eines Autorisierungsservers nützlich sein können.
IronPDF ist eine umfassende Bibliothek, die es Entwicklern ermöglicht, PDF-Dateien in .NET-Umgebungen zu erstellen, zu lesen und zu bearbeiten. Es ist besonders nützlich für die Generierung von PDFs aus HTML oder direkt aus URLs, was für die Erstellung von Berichten, Rechnungen oder einfach für die Speicherung von Webseiten in einem statischen Format sehr nützlich sein kann. Durch die Integration mit DotNetOpenAuth .NET Core wird sichergestellt, dass diese Funktionen sicher und nur für authentifizierte Benutzer zugänglich sind.
Ein praktischer Anwendungsfall für die Zusammenführung von IronPDF mit DotNetOpenAuth .NET Core ist eine Webanwendung, in der authentifizierte Benutzer personalisierte Berichte erstellen und herunterladen müssen. Stellen Sie sich zum Beispiel ein Szenario vor, in dem sich Benutzer bei Ihrer Anwendung anmelden und auf ihre Finanzberichte als PDF-Dateien zugreifen. DotNetOpenAuth stellt sicher, dass die Benutzer ordnungsgemäß authentifiziert und für den Zugriff auf ihre Dokumente autorisiert sind, während IronPDF die Erstellung und Bereitstellung dieser personalisierten PDFs übernimmt.
Schauen wir uns ein komplettes Codebeispiel an, das zeigt, wie man dies umsetzen kann. Wir werden eine einfache Web-API in .NET Core erstellen, die einen Benutzer authentifiziert und dann einen PDF-Bericht mit IronPDF erzeugt:
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");
}
}
Imports IronPdf
Imports Microsoft.AspNetCore.Mvc
Imports Microsoft.AspNetCore.Authorization
<Route("api/[controller]")>
<ApiController>
Public Class ReportController
Inherits ControllerBase
<Authorize>
<HttpGet("download-pdf")>
Public Function DownloadPdfReport() As IActionResult
' Authentication is handled by DotNetOpenAuth .NET Core
Dim currentUser = HttpContext.User.Identity.Name
' Generate PDF content using IronPDF
Dim Renderer = New ChromePdfRenderer()
Dim 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
Dim 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")
End Function
End Class
In diesem Beispiel verwenden wir die [Autorisieren Sie]attribut, um sicherzustellen, dass nur authentifizierte Benutzer auf den Endpunkt für die PDF-Erstellung zugreifen können. Die Klasse
ChromePdfRenderer` von IronPDF wird verwendet, um aus HTML-Inhalten ein PDF zu erstellen, das in diesem Fall dynamisch mit dem Namen des Benutzers personalisiert wird.
Die Integration von DotNetOpenAuth .NET Core mit IronPDF bietet eine leistungsstarke Lösung zur Verbesserung der Sicherheit und Funktionalität Ihrer .NET-Anwendungen. Durch den Einsatz dieser Technologien können Sie vertrauliche Daten wirksam schützen und durch die dynamische PDF-Erstellung ein personalisiertes Benutzererlebnis bieten.
IronPDF ist nicht nur vielseitig, sondern auch entwicklerfreundlich und bietet einen unkomplizierten Ansatz für die Erstellung und Verwaltung von PDF-Dateien in .NET-Anwendungen. Wenn Sie erwägen, IronPDF in Ihr Projekt einzubinden, wird es Sie freuen zu hören, dass es eine kostenlose Testversion und Lizenzierungsoptionen bietet.
9 .NET API-Produkte für Ihre Bürodokumente