Zum Fußzeileninhalt springen
PYTHON-HILFE

PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler)

Unter den Python-Bibliotheken ist PyJWT die beliebteste Python-Bibliothek, die eine bequeme Möglichkeit bietet, JSON Web Tokens (JWTs) in Python-Projekten zu kodieren und zu dekodieren. JWTs sind ein kompaktes, URL-sicheres Mittel zur Darstellung von Ansprüchen, die zwischen zwei Parteien übertragen werden sollen. Das PyJWT-Paket erleichtert die Implementierung von JSON-Web-Token in Python. JWT-Tokens werden häufig zur Authentifizierung und zum Informationsaustausch in Webanwendungen verwendet. Das Paket bietet umfangreiche Online-Dokumentationen für Entwickler. In diesem Artikel werden wir auch IronPDF von Iron Software betrachten, um später PDF-Dokumente zu erstellen.

Hauptmerkmale

  1. JWT-Codierung und -Dekodierung: PyJWT ermöglicht es Ihnen, JWTs einfach zu codieren und zu dekodieren. Sie können ein Token erstellen, indem Sie eine Nutzlast mit einem geheimen Schlüssel und einem Algorithmus kodieren und es später decodieren, um die Nutzlast zu überprüfen.
  2. Unterstützung für mehrere Algorithmen: PyJWT unterstützt verschiedene Algorithmen zur Signierung von Tokens, einschließlich HMAC (HS256, HS384, HS512) und RSA (RS256, RS384, RS512). Es unterstützt sowohl symmetrische als auch asymmetrische Algorithmen.
  3. Überprüfen von Ansprüchen: Die Bibliothek bietet integrierte Unterstützung zur Validierung von Standardansprüchen wie iss (Aussteller), sub (Subjekt), aud (Zielgruppe) und exp (Ablaufzeit), die eine sichere tokenbasierte Authentifizierung unterstützen.

Installation

Um PyJWT zu installieren, können Sie pip verwenden:

pip install pyjwt
pip install pyjwt
SHELL

Für zusätzlichen kryptografischen Support können Sie es mit der Krypto-Option installieren:

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

Grundlagen

Hier ist ein einfaches Beispiel, wie man PyJWT in einer Python-Implementierung verwendet:

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

In diesem Beispiel erstellen wir ein JWT, indem wir eine Nutzlast mit einem geheimen Schlüssel unter Verwendung des HS256-Algorithmus codieren. Wir decodieren dann das Token, um die ursprüngliche Nutzlast abzurufen.

Ausgabe

PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 1 - Beispiel-Antpayload nach der Dekodierung

Anwendungsfälle

  1. Authentifizierung: JWTs werden häufig für die Authentifizierung in Webanwendungen verwendet. Nachdem sich ein Benutzer angemeldet hat, generiert der Server ein JWT und sendet das signierte Token an den Client zurück. Der Client kann die Benutzeridentität mithilfe dieses Tokens überprüfen und das Token in nachfolgenden Anfragen einfügen.
  2. Informationsaustausch: Partner können sicher Informationen mithilfe von JWTs übertragen. Die Nutzlast kann beliebige Daten enthalten; die Signatur des Tokens gewährleistet deren Integrität.

Einführung in IronPDF

PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 2 - IronPDF für Python: Die Python PDF-Bibliothek

IronPDF ist eine leistungsstarke Python-Bibliothek zum Erstellen, Bearbeiten und Signieren von PDFs mit HTML, CSS, Bildern und JavaScript. Es bietet eine hohe Leistungsfähigkeit bei minimalem Speicherverbrauch. Benutzer können PDFs aus HTML generieren, kombinieren oder teilen Sie PDF-Dokumente, Text und Bilder aus PDFs extrahieren, Wasserzeichen anwenden, ein PDF in Bild-Formate wie JPEG und PNG rasterisieren, PDF-Dateien verschlüsseln und mehr. IronPDF bietet eine breite Palette von PDF-Operationen.

Wichtige Funktionen von IronPDF

HTML zu PDF Konvertierung

Benutzer können HTML-Dateien, HTML-Strings und URLs in PDFs konvertieren. Zum Beispiel, eine Webseite als PDF rendern mithilfe des Chrome PDF-Renders von IronPDF.

Plattformübergreifende Unterstützung

IronPDF ist für Python 3+ Versionen ausgelegt und läuft auf Windows, Mac, Linux oder Cloud-Plattformen.

IronPDF ist auch in .NET, Java, Python und Node.js verfügbar.

Bearbeitung und Signierung

Der Benutzer kann Eigenschaften festlegen, Sicherheit mit Passwörtern und Berechtigungen hinzufügen und digitale Signaturen zu PDFs mithilfe von IronPDF anwenden.

Seitentemplates und Einstellungen

IronPDF ermöglicht es Ihnen, PDF-Dokumente mit Kopfzeilen, Fußzeilen, Seitenzahlen und anpassbaren Rändern anzupassen. Es unterstützt auch responsive Layouts und benutzerdefinierte Papierformate.

Standardkonformität

Das IronPDF-Paket hält sich an PDF-Standards wie PDF/A und PDF/UA. Es unterstützt UTF-8-Zeichencodierung und verarbeitet Ressourcen wie Bilder, CSS und Schriftarten.

PDF-Dokumente mit IronPDF und PyJWT erstellen

IronPDF Voraussetzungen

  1. IronPDF verwendet .NET 6.0 als zugrunde liegende Technologie. Stellen Sie sicher, dass die .NET 6.0-Laufzeitumgebung auf Ihrem System installiert ist.
  2. Python 3.0+: Sie müssen Python Version 3 oder später installiert haben.
  3. Pip: Installieren Sie den Python-Paketinstaller pip, um das IronPDF-Paket zu installieren.

Um zu beginnen, erstellen wir eine Python-Datei im Projektstammverzeichnis, um unsere Skripte hinzuzufügen. In diesem Beispiel verwenden wir Visual Studio Code als Code-Editor.

Öffnen Sie Visual Studio Code und erstellen Sie eine Datei, pyjwtDemo.py.

IronPDF-Bibliothek installieren:

pip install ironpdf
pip install pyjwt
pip install ironpdf
pip install pyjwt
SHELL

Fügen Sie dann den folgenden Code hinzu, um die Verwendung von IronPDF und PyJWT Python-Paketen zu demonstrieren:

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

Code-Erklärung

Dieser Codeausschnitt demonstriert, wie die jwt-Bibliothek (JSON Web Token) zusammen mit IronPDF verwendet wird, um ein PDF-Dokument zu erstellen, das Beispiele für die Kodierung und Dekodierung von JWTs enthält.

Nachfolgend ist ein Überblick über die Funktionen jeder Code-Komponente:

  1. Importe und Lizenzschlüsseleinstellung:

    Importiert die jwt-Bibliothek für JSON Web Token-Funktionalität und ChromePdfRenderer von IronPDF für die PDF-Erstellung. Setzt den Lizenzschlüssel für IronPDF ein, um seine Funktionen zu aktivieren.

  2. HTML-Inhaltssetup:

    initialisiert die Variable content mit HTML-Markup, das im PDF-Dokument enthalten sein soll und verschiedene Schritte im Prozess veranschaulicht.

  3. Codierung eines JWT:

    • Definiert ein Payload-Dictionary, das Daten enthält, die in das JWT (payload) kodiert werden sollen.
    • Gibt einen geheimen Schlüssel (secret) an, um das JWT mit dem HMAC-Algorithmus unter Verwendung von SHA-256 (HS256) zu signieren.
    • Generiert ein JWT-Token mit der Funktion jwt.encode() und gibt es aus.
  4. Decodierung eines JWT:

    • Fügt HTML-Markup zur Demonstration der JWT-Dekodierung hinzu.
    • Dekodiert das zuvor generierte JWT (token) mit der Funktion jwt.decode() unter Verwendung desselben Schlüssels und Algorithmus, der zur Kodierung verwendet wurde.
  5. PDF-Erzeugung:

    • Es verwendet ChromePdfRenderer, um den content HTML-String in ein PDF-Dokument zu rendern und speichert die generierte PDF-Datei als "Demo-pyjwt.pdf.".

Dieses Setup ermöglicht die Erstellung eines PDF-Dokuments, das die Verwendung von JWTs mit IronPDF veranschaulicht, um professionelle PDFs zu erzeugen.

Ausgabe

PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 3 - Beispielausgabe der Konsole

PDF

PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 4 - Beispiel-PDF-Ausgabe unter Verwendung von IronPDF

IronPDF-Lizenz

PyJWT Python (Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 5 - IronPDF-Lizenzseite

IronPDF bietet einen Testlizenz Schlüssel an, damit Benutzer seine umfangreichen Funktionen vor dem Kauf ausprobieren können.

Platzieren Sie den Lizenzschlüssel zu Beginn des Skripts, bevor Sie das IronPDF-Paket verwenden:

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

Abschluss

PyJWT ist eine leistungsstarke und flexible Bibliothek zum Arbeiten mit JSON Web Tokens in Python. Seine Benutzerfreundlichkeit und Unterstützung für verschiedene Algorithmen machen es zu einer beliebten Wahl für die Implementierung tokenbasierter Authentifizierung und den sicheren Informationsaustausch in Webanwendungen. IronPDF hingegen ist eine vielseitige und funktionsreiche PDF-Erzeugungsbibliothek, die dazu beiträgt, die Ergebnisse in einer standardisierten Weise zu dokumentieren. Beide Bibliotheken können Wunder für Entwickler wirken, um ihre Fähigkeiten zu verbessern.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen