Altbilgi içeriğine atla
.NET YARDıM

Dotnetopenauth .NET Core (Geliştiriciler İçin Nasıl Çalışır)

DotNetOpenAuth .NET Core, .NET Core için uyarlanmış orijinal DotNetOpenAuth kütüphanesidir ve güçlü bir genel API sağlar. Bu kütüphane, .NET uygulamalarınıza OAuth2 ve OpenID kimlik doğrulamasını eklemenize yardımcı olur. IronPDF, .NET'te PDF dosyaları oluşturmak, okumak ve düzenlemek için bir kütüphanedir. .NET uygulamalarınızdan doğrudan raporlar ve faturalar gibi belgeler oluşturmak için kullanışlıdır.

DotNetOpenAuth .NET Core ve IronPDF'i, paylaşılan koddan yararlanmak ve yeni özellikler uygulamak için web ve masaüstü uygulamaları gibi çeşitli projelerde kullanabilirsiniz. Kimlik doğrulama ve PDF belge yönetimini yazılımlarında ele almak isteyen geliştiriciler için gereklidir.

DotNetOpenAuth .NET Core ile Başlarken

.NET Projelerinde DotNetOpenAuth .NET Core'u Kurma

Microsoft teknolojileri tarafından desteklenen .NET projelerinizde DotNetOpenAuth .NET Core'u kullanmaya başlamak için bu adımları izleyin:

  1. Projenizi Visual Studio'da açın.
  2. Çözüm Gezgini'ne gidin.
  3. Proje adınıza sağ tıklayın.
  4. Manage NuGet Packages'ü seçin.
  5. NuGet Paket Yöneticisi'nde DotNetOpenAuth.NetCore ve diğer NuGet paketlerini arayın.
  6. Projenize eklemek için Install'a tıklayın.

Bu, kimlik doğrulama özelliklerini entegre etmek için DotNetOpenAuth .NET Core kütüphanesini projenize ekler.

DotNetOpenAuth .NET Core Kullanarak Temel Bir Kod Örneği

İşte DotNetOpenAuth .NET Core kullanarak uygulamanızda OAuth2 kimlik doğrulamasını ayarlamanın basit bir örneği:

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
}
Imports DotNetOpenAuth.OAuth2

' Initialize the OAuth2 client with the authorization server details
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 and get the authorization state
Private state As IAuthorizationState = client.ProcessUserAuthorization()
If state IsNot Nothing AndAlso state.IsAuthorized Then
	' Authorized successfully, now you can access protected resources
End If
$vbLabelText   $csharpLabel

Bu kod snippet'i, DotNetOpenAuth .NET Core kullanarak bir OAuth2 istemcisini ayarlar, bir yetkilendirme sunucusuna bağlanır ve kullanıcı yetkilendirmesini işler.

DotNetOpenAuth .NET Core Özelliklerini Uygulama

OpenID Connect'i Entegre Etme

DotNetOpenAuth .NET Core kullanarak OpenID Connect'i entegre etmek için bu temel yaklaşımı takip edebilirsiniz:

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);
Imports DotNetOpenAuth.OAuth2

' Configure the OpenID Connect client with authority details
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)
$vbLabelText   $csharpLabel

Bu kod, bir OpenID Connect istemcisini yapılandırır ve kullanıcıyı OpenID sağlayıcısının kimlik doğrulama sayfasına yönlendirir.

Erişim Belirteçlerini Yönetme

DotNetOpenAuth .NET Core ile erişim belirteçlerini nasıl yöneteceğiniz şöyle:

// 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;
}
' After the user is authenticated, process the authorization response to retrieve the token
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
$vbLabelText   $csharpLabel

Bu snippet, kullanıcı yetkilendirme yanıtını işleyerek erişim belirtecini alır ve kullanır.

Belirteçleri Yenileme

Belirteçler sona erdiğinde yenilemek için aşağıdaki kodu kullanın:

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

Bu kod, mevcut belirteç süresinin dolup dolmadığını kontrol eder ve yenilemeye çalışır.

Belirteçleri İptal Etme

Belirteçleri iptal etmeniz gerekiyorsa, aşağıda gösterildiği gibi uygulayın:

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

Bu snippet, erişim belirtecini geçersiz kılar, böylece yetkilendirmeyi iptal eder.

Belirteç Taleplerini Özelleştirme

Bir yetkilendirme sunucusunun belirli gereksinimleriyle başa çıkmak için ekstra parametreler ekleme gibi belirteç taleplerini özelleştirmek:

// 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
}
' Customize the token request with additional parameters
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
$vbLabelText   $csharpLabel

Bu kod, bir yetkilendirme sunucusunun spesifik gereksinimlerini karşılamak için belirteç talebine özel parametreler ekler.

DotNetOpenAuth .NET Core ile IronPDF

IronPDF, .NET ortamlarında PDF dosyaları oluşturmak, okumak ve değiştirmek için kapsamlı bir kütüphanedir. HTML'den veya doğrudan URL'lerden PDF'ler oluşturmak için özellikle kullanışlıdır, bu da raporlama, fatura oluşturma veya web sayfalarını statik formatta saklama için harika olabilir. DotNetOpenAuth .NET Core ile entegre edildiğinde, bu yeteneklerin güvenli ve yalnızca kimliği doğrulanmış kullanıcılar tarafından erişilebilir olmasını sağlar.

IronPDF ve DotNetOpenAuth .NET Core'u Birleştirme Kullanım Durumu

IronPDF'i DotNetOpenAuth .NET Core ile birleştirmenin pratik bir kullanım durumu, kimliği doğrulanmış kullanıcıların kişiselleştirilmiş raporlar oluşturup indirmesi gereken bir web uygulamasıdır. Örneğin, kullanıcıların uygulamanıza giriş yaptığı ve finansal raporlarını PDF olarak eriştiği bir senaryoyu hayal edin. DotNetOpenAuth, kullanıcıların belgelerine erişmek için doğru bir şekilde kimliklerinin doğrulandığından ve yetkilendirildiğinden emin olurken, IronPDF bu kişiselleştirilmiş PDF'lerin oluşturulması ve teslimini yönetir.

Kullanım Durumu Kod Örneği

Bunu nasıl uygulayabileceğinizi gösteren eksiksiz bir kod örneğine bakalım. Kullanıcıyı kimlik doğrulaması yapan ve ardından IronPDF kullanarak bir PDF raporu oluşturan basit bir web API oluşturacağız:

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

Bu örnekte, yalnızca kimliği doğrulanmış kullanıcıların PDF oluşturma uç noktasına erişebilmesini sağlamak için [Authorize] özelliğini kullanıyoruz. Bu örnekte, yalnızca kimliği doğrulanmış kullanıcıların PDF oluşturma uç noktasına erişebilmesini sağlamak için IronPDF'in ChromePdfRenderer sınıfı, HTML içeriğinden PDF oluşturmak için kullanılır; bu durumda HTML, kullanıcının adı ile dinamik olarak kişiselleştirilmiştir.

DotNetOpenAuth .NET Core (Geliştiriciler için Nasıl Çalışır): Şekil 1

Sonuç

DotNetOpenAuth .NET Core'u IronPDF ile birleştirmek, .NET uygulamalarınızın güvenliğini ve işlevselliğini artırmak için güçlü bir çözüm sunar. Bu teknolojilerden yararlanarak, hassas verileri etkili bir şekilde koruyabilir ve dinamik PDF oluşturma yoluyla kişiselleştirilmiş bir kullanıcı deneyimi sunabilirsiniz.

IronPDF, sadece çok yönlü değil, aynı zamanda geliştirici dostudur; .NET uygulamaları içinde PDF dosyaları oluşturma ve yönetme konusunda basit bir yaklaşım sunar. Projenize IronPDF'i eklemeyi düşünüyorsanız, IronPDF'in Resmi Web Sitesi'ni ücretsiz deneme ve lisanslama seçenekleri için keşfetmeniz önerilir.

Sıkça Sorulan Sorular

DotNetOpenAuth .NET Core ne için kullanılır?

DotNetOpenAuth .NET Core, .NET uygulamalarına OAuth2 ve OpenID kimlik doğrulama özellikleri entegre etmek için kullanılır; web ve masaüstü ortamlarında güvenli kimlik doğrulama süreçlerini etkinleştirir.

.NET uygulamama OAuth2 kimlik doğrulaması nasıl ekleyebilirim?

OAuth2 kimlik doğrulaması eklemek için DotNetOpenAuth .NET Core'u kullanarak bir WebServerClient'i yetkilendirme sunucunuzun detayları ile başlatın, ardından kullanıcıları kimlik doğrulama süreci boyunca yönlendirin ve yetkilendirme yanıtlarını yönetin.

.NET uygulamasında kimlik doğrulaması ile PDF oluşturabilir miyim?

Evet, kimlik doğrulama için DotNetOpenAuth .NET Core'u ve PDF oluşturma için IronPDF'yi entegre ederek, kişiselleştirilmiş raporlar ve faturalar gibi güvenli, kimlik doğrulamalı PDF belgeleri oluşturabilirsiniz.

.NET uygulamasında erişim belirteçlerini nasıl yönetirsiniz?

DotNetOpenAuth .NET Core, yetkilendirme yanıtlarını işleyerek erişim belirteçlerini yönetir, güvenli ve kimlik doğrulamalı istekler için erişim belirteçlerini almanıza ve kullanmanıza olanak tanır.

.NET Core'da erişim belirtecini nasıl yenileyebilirim?

.NET Core'da bir erişim belirtecini yenilemek için tokenın süresinin dolup dolmadığını kontrol edin ve kesintisiz güvenli erişim sağlamak için yeni bir token almak üzere `RefreshAuthorization` yöntemini kullanın.

DotNetOpenAuth ile PDF oluşturmayı entegre etmenin faydası nedir?

DotNetOpenAuth ile PDF oluşturmayı entegre etmek, duyarlı belgeler için güvenli erişim sağlar ve kimlik doğrulamalı kullanıcıların raporlar ve faturalar gibi kişiselleştirilmiş PDF'ler oluşturmasına ve indirmesine olanak tanır.

.NET uygulamasında belirteçleri nasıl iptal edersiniz?

Erişim belirtecini geçersiz kılarak yetkisiz istekleri önlemek için DotNetOpenAuth .NET Core'da `RevokeAuthorization` yöntemini uygulayın.

.NET kimlik doğrulamasında belirteç istekleri nasıl özelleştirilebilir?

Yetkilendirme sunucunuzun özel gereksinimlerini karşılamak için belirteç işleme koduna ek parametreler ekleyerek belirteç isteklerini özelleştirebilirsiniz.

.NET projesinde OpenID Connect kurulumu hangi adımları içerir?

OpenID Connect kurmak için gerekli yetkilendirme ayrıntıları ile bir OpenID Connect istemcisi yapılandırın ve DotNetOpenAuth .NET Core ile entegrasyon sağlayarak kullanıcıları OpenID sağlayıcısı üzerinden kimlik doğrulaması yapmaya yönlendirin.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara