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 schauen wir uns auch IronPDF von Iron Software an, um später PDF-Dokumente zu erstellen.

Hauptmerkmale

  1. JWT-Kodierung und -Dekodierung: Mit PyJWT können Sie JWTs einfach kodieren und 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 mehrerer Algorithmen: PyJWT unterstützt verschiedene Algorithmen zum Signieren von Token, darunter HMAC (HS256, HS384, HS512) und RSA (RS256, RS384, RS512). Es unterstützt sowohl symmetrische als auch asymmetrische Algorithmen.
  3. Validierung von Ansprüchen: Die Bibliothek bietet integrierte Unterstützung für die Validierung von Standardansprüchen wie iss (Aussteller), sub (Subjekt), aud (Zielgruppe) und exp (Ablaufzeit) und trägt so zu einer sicheren tokenbasierten Authentifizierung bei.

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 für eine Antwortnutzlast nach der Dekodierung

Anwendungsfälle

  1. Authentifizierung: JWTs werden häufig zur 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: Die Parteien können Informationen sicher mittels JWTs übermitteln. 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 for 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:

:ProductInstall pip install ironpdf pyjwt
:ProductInstall pip install ironpdf 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

Dieses Code-Snippet demonstriert, wie man die jwt (JSON Web Token) Bibliothek zusammen mit IronPDF verwendet, um ein PDF-Dokument zu erstellen, das Beispiele für das Codieren und Dekodieren von JWTs enthält.

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

  1. Importe und Lizenzschlüssel-Einrichtung:

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

  2. HTML-Inhaltseinrichtung:

    Initialisiert die content Variable mit HTML-Markup, das in das PDF-Dokument aufgenommen werden soll, und illustriert verschiedene Schritte im Prozess.

  3. Kodierung eines JWT:

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

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

    • 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 - Beispielhafte Konsolenausgabe

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-Lizenzierungsseite

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

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an