Altbilgi içeriğine atla
PYTHON YARDıM

PyJWT Python (Nasıl Çalışir: Geliştiriciler İçin Bir Kılavuz)

Python kütüphaneleri arasında, PyJWT, Python projelerinde JSON Web Token'ları (JWTs) şifreleme ve çözme için kullanışlı bir yol sağlayan en popüler Python kütüphanesidir. JWTs, iki taraf arasında aktarılacak iddiaların temsil edilmesinin kompakt, URL güveli bir yoludur. PyJWT paketi, Python üzerinden JSON web token uygulanmasını kolaylaştırır. JWT tokenları, web uygulamalarında kimlik doğrulama ve bilgi alışverişi için yaygın olarak kullanılmaktadır. Paket, geliştiricilere destek sağlamak için çevrimiçi zengin belgelerle birlikte gelir. Bu makalede, daha sonra PDF belgeleri oluşturmak için IronPDF'ye de bakacağız Iron Software firmasından.

Ana Özellikler

  1. JWT Şifreleme ve Çözme: PyJWT, JWTs'yi kolayca şifrelemenize ve çözmenize olanak tanır. Bir yükü bir gizli anahtar ve bir algoritma ile şifreleyerek bir token oluşturabilir ve daha sonra, yükü doğrulamak için çözüp çözemeyeceğinizi kontrol edebilirsiniz.
  2. Çoklu Algoritma Desteği: PyJWT, HMAC (HS256, HS384, HS512) ve RSA (RS256, RS384, RS512) dahil olmak üzere tokenları imzalamak için çeşitli algoritmaları destekler. Hem sembolik hem de asimetrik algoritmaları destekler.
  3. İddiaları Doğrulama: Kütüphane, iss (yayıncı), sub (konu), aud (hedef kitle) ve exp (bitiş süresi) gibi standart iddialar için dahili doğrulama desteği sunarak güvenli token bazlı kimlik doğrulaması sağlar.

Kurulum

PyJWT kurmak için pip kullanabilirsiniz:

pip install pyjwt
pip install pyjwt
SHELL

Ek kriptografik destek için, kripto seçeneği ile kurabilirsiniz:

pip install pyjwt[crypto]
pip install pyjwt[crypto]
SHELL

Temel Kullanım

PyJWT bir Python uygulamasında nasıl kullanılacağına dair basit bir örnek burada:

import jwt

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"
# Create the JWT token with a secret key using HS256 algorithm
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)

# Decoding a JWT
# Decode the JWT token to retrieve the original payload
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
import jwt

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"
# Create the JWT token with a secret key using HS256 algorithm
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)

# Decoding a JWT
# Decode the JWT token to retrieve the original payload
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
PYTHON

Bu örnekte, HS256 algoritması ile bir gizli anahtar kullanarak bir yükü şifreleyerek bir JWT oluşturuyoruz. Daha sonra, orijinal yükü almak için tokenı çözüyoruz.

Çıktı

PyJWT Python (Nasıl Çalışır: Geliştiriciler İçin Rehber): Şekil 1 - Ayrıştırma Sonrası Örnek Yanıt Yükü

Kullanım Alanları

  1. Kimlik Doğrulama: JWTs, web uygulamalarında kimlik doğrulama için sıkça kullanılır. Kullanıcı oturum açtıktan sonra, sunucu bir JWT oluşturur ve imzalı token'ı istemciye geri gönderir. İstemci, kullanıcı kimliğini bu token ile doğrulayabilir ve sonraki isteklerinde token'ı ekleyebilir.
  2. Bilgi Alışverişi: Taraflar JWT kullanarak güvenli bir şekilde bilgi alışverişi yapabilir. Yük herhangi bir veriyi içerebilir; token'ın imzası bütünlüğünü garanti eder.

IronPDF Tanıtımı

PyJWT Python (Nasıl Çalışır: Geliştiriciler İçin Rehber): Şekil 2 - IronPDF for Python: Python PDF Kütüphanesi

IronPDF, HTML, CSS, resimler ve JavaScript kullanarak PDF'leri oluşturma, düzenleme ve imzalama için güçlü bir Python kütüphanesidir. Minimum bellek kullanırken yüksek kaliteli performans sağlar. Kullanıcılar, HTML'den PDF üretebilir, PDF belgelerini birleştirebilir veya bölebilir, PDF'lerden metin ve görüntü çıkarabilir, filigran uygulayabilir, bir PDF'yi JPEG ve PNG gibi görüntü formatlarına rasterize edebilir, PDF dosyalarını şifreleyebilir ve daha fazlasını yapabilir. IronPDF, geniş bir yelpazede PDF işlemleri sağlar.

IronPDF'in Anahtar Özellikleri

HTML'den PDF'ye Dönüşüm

Kullanıcılar HTML dosyalarını, HTML dizelerini ve URL'leri PDF'lere dönüştürebilir. Örneğin, bir web sayfasını PDF olarak işleyin ve IronPDF'den IronPDF'in Chrome PDF renderleyicisini kullanın.

Çapraz Platform Desteği

IronPDF, Python 3+ sürümleri için tasarlanmıştır ve Windows, Mac, Linux veya Bulut Platformlarında çalışır.

IronPDF is also available in .NET, Java, Python, and Node.js.

Düzenleme ve İmzalama

Kullanıcı, IronPDF kullanarak PDF'lere şifreler ve izinlerle güvenlik ekleyebilir ve dijital imzalar uygulayabilir.

Sayfa Şablonları ve Ayarları

IronPDF, PDF belgelerini üst bilgiler, alt bilgiler, sayfa numaraları ve ayarlanabilir kenar boşlukları ile özelleştirmenize olanak tanır. Duyarlı düzenleri ve özel kağıt boyutlarını da destekler.

Standart Uyumluluğu

IronPDF paketi, PDF/A ve PDF/UA gibi PDF standartlarına uygunluk gösterir. UTF-8 karakter kodlamasını destekler ve resimler, CSS ve yazı tipleri gibi varlıkları işler.

IronPDF ve PyJWT Kullanarak PDF Belgeleri Oluşturma

IronPDF Ön Koşulları

  1. IronPDF altyapı teknolojisi olarak .NET 6.0'ı kullanır. Bu nedenle, sisteminizde .NET 6.0 çalışma zamanı kurulu olduğundan emin olun.
  2. Python 3.0+: Python sürüm 3 veya daha yenisinin yüklü olması gerekmektedir.
  3. Pip: IronPDF paketini kurmak için Python paket yükleyicisi pip kurun.

Başlamak için, proje kökünde bir Python dosyası oluşturarak skriplerimizi ekleyelim. Bu örnekte, kod editörü olarak Visual Studio Code kullanıyoruz.

Visual Studio Code'u açın ve pyjwtDemo.py adlı bir dosya oluşturun.

IronPDF kütüphanesini yükleyin:

:ProductInstall pip install ironpdf pyjwt
:ProductInstall pip install ironpdf pyjwt
SHELL

Daha sonra, IronPDF ve PyJWT Python paketlerinin nasıl kullanılacağını göstermek için aşağıdaki kodu ekleyin:

import jwt
from ironpdf import ChromePdfRenderer, License

# Apply your license key
License.LicenseKey = "your-license-key"

# Initialize HTML content to be converted into PDF
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2>Encoding a JWT</h2>"

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"  # Secret key for signing
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)  # Print the generated JWT

# Append details to the HTML content
content += f"<p>Message: {payload['Message']}</p>"
content += f"<p>Secret: {secret}</p>"
content += f"<p>Generated Token: {token}</p>"

# Decoding a JWT
content += "<h2>Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)  # Print the decoded payload

# Append decoded payload details to the HTML content
content += f"<p>Decoded Token: {decoded_payload}</p>"

# Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)

# Export PDF to a file
pdf.SaveAs("Demo-pyjwt.pdf")
import jwt
from ironpdf import ChromePdfRenderer, License

# Apply your license key
License.LicenseKey = "your-license-key"

# Initialize HTML content to be converted into PDF
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2>Encoding a JWT</h2>"

# Encoding a JWT
payload = {"Message": "IronPDF is an Awesome PDF library"}
secret = "your-256-bit-secret"  # Secret key for signing
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)  # Print the generated JWT

# Append details to the HTML content
content += f"<p>Message: {payload['Message']}</p>"
content += f"<p>Secret: {secret}</p>"
content += f"<p>Generated Token: {token}</p>"

# Decoding a JWT
content += "<h2>Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)  # Print the decoded payload

# Append decoded payload details to the HTML content
content += f"<p>Decoded Token: {decoded_payload}</p>"

# Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)

# Export PDF to a file
pdf.SaveAs("Demo-pyjwt.pdf")
PYTHON

Kod Açıklaması

Bu kod parçası, IronPDF ile birlikte jwt (JSON Web Token) kütüphanesinin nasıl kullanılacağını ve JWT'lerin kodlama ve ayrıştırma örneklerini içeren bir PDF belgesi oluşturmayı göstermektedir.

Her bir kod bileşeninin işlevlerinin genel görünümü aşağıda:

  1. İçe Aktarımlar ve Lisans Anahtarı Ayarı:

    JSON Web Token işlevselliği için jwt kütüphanesini ve PDF oluşturma için IronPDF'den ChromePdfRenderer kitaplığını ekler. IronPDF özelliklerini etkinleştirmek için lisans anahtarı ayarlar.

  2. HTML İçerik Kurulumu:

    İşlemdeki farklı adımları gösteren PDF belgesine dahil edilecek HTML işaretlemesiyle content değişkenini başlatır.

  3. Bir JWT Kodlama:

    • JWT'ye (payload) kodlanacak verileri içeren bir yük sözlüğü tanımlar.
    • HMAC algoritması ile SHA-256 (HS256) kullanarak JWT'yi imzalamak için bir gizli anahtar (secret) belirtir.
    • jwt.encode() fonksiyonunu kullanarak bir JWT tokeni üretir ve yazdırır.
  4. Bir JWT Çözme:

    • JWT çözümlemenin gösterimi için HTML biçimlendirmesi ekler.
    • Önceden üretilmiş JWT'yi (token) aynı şifre ve kodlama işlemi için kullanılan algoritma ile jwt.decode() fonksiyonunu kullanarak çözer.
  5. PDF Oluşturma:

    • ChromePdfRenderer kullanarak content HTML dizgisini PDF belgesine dönüştürür ve üretilmiş PDF dosyasını "Demo-pyjwt.pdf" olarak kaydeder.

Bu kurulum, IronPDF ve JWT'leri kullanarak profesyonel kalitede PDF'ler oluşturmayı gösteren bir PDF belgesi oluşturmanıza olanak tanır.

Çıktı

PyJWT Python (Nasıl Çalışır: Geliştiriciler İçin Rehber): Şekil 3 - Örnek konsol çıkışı

PDF

PyJWT Python (Nasıl Çalışır: Geliştiriciler İçin Rehber): Şekil 4 - IronPDF kullanarak örnek PDF çıktısı

IronPDF Lisansı

PyJWT Python (Nasıl Çalışır: Geliştiriciler İçin Rehber): Şekil 5 - IronPDF lisans sayfası

IronPDF, kullanıcıların satın almadan önce kapsamlı özelliklerini denemeleri için bir deneme lisansı anahtarı sağlar.

Lisans Anahtarını betiğin başında IronPDF paketi'ni kullanmadan önce yerleştirin:

from ironpdf import License

# Apply your license key
License.LicenseKey = "your-key"
from ironpdf import License

# Apply your license key
License.LicenseKey = "your-key"
PYTHON

Sonuç

PyJWT, Python'da JSON Web Tokenları ile çalışmak için güçlü ve esnek bir kütüphanedir. Kullanım kolaylığı ve çeşitli algoritmaları desteklemesi, onu token tabanlı kimlik doğrulama ve web uygulamalarında güvenli bilgi alışverişi için popüler bir seçim haline getirmektedir. Öte yandan, IronPDF, sonuçları standart bir şekilde belgelemek için yardımcı olacak çok yönlü ve birçok özelliğe sahip bir PDF oluşturma kütüphanesidir. Bu iki kütüphane, geliştiricilerin beceri setlerini geliştirmeleri için harikalar yaratabilir.

Curtis Chau
Teknik Yazar

Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapı...

Daha Fazla Oku

Iron Destek Ekibi

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