PYTHON HILFE

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

Jordi Bardia
Jordi Bardia
26. Februar 2025
Teilen Sie:

Einführung

Unter den Python-Bibliotheken,PyJWTist die beliebteste Python-Bibliothek, die eine bequeme Möglichkeit bietet, JSON-Web-Tokens zu kodieren und zu dekodieren(JWTs)in Python-Projekten. 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-Tokens in Python. JWT-Tokens werden häufig für Authentifizierung und Informationsaustausch in Webanwendungen verwendet. Das Paket verfügt über umfangreiche Online-Dokumentation zur Unterstützung von Entwicklern. In diesem Artikel werden wir auch untersuchenIronPDF vonIronSoftwareum später PDF-Dokumente zu erstellen.

Wesentliche Merkmale

  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 dekodieren, um die Nutzlast zu überprüfen.

  2. Unterstützung für mehrere Algorithmen: PyJWT unterstützt verschiedene Algorithmen zum Signieren von Tokens, einschließlich 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 zur Validierung standardmäßiger Ansprüche wie z. B.(Aussteller), sub (Betreff), aud (Publikum), und exp(Ablaufzeit), wie sichere tokenbasierte Authentifizierung.

Einrichtung

Zum InstallierenPyJWT, können Sie pip verwenden:

pip install pyjwt
PYTHON

Für zusätzliche kryptografische Unterstützung können Sie es mit der Krypto-Option installieren:

pip install pyjwt[crypto]
PYTHON

Grundlegende Verwendung

Hier ist ein einfaches Beispiel, wie man verwendetPyJWTPython-Implementierung:

import jwt
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret"
token = jwt.encode(payload, secret, algorithm="HS256")
print(token)
# Decoding a JWT
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 kodieren. Wir dekodieren 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 die Antwortnutzlast nach dem Dekodieren

Anwendungsfälle

  1. Authentifizierung: JWTs werden häufig zur Authentifizierung in Webanwendungen verwendet. Nachdem sich ein Benutzer eingeloggt hat, generiert der Server ein JWT und gibt das signierte Token an den Client zurück. Der Client kann die Benutzeridentität mit diesem Token überprüfen und das Token in nachfolgenden Anfragen einbeziehen.

  2. Informationsaustausch: Parteien können Informationen sicher mithilfe von JWTs übermitteln. Die Nutzlast kann beliebige Daten enthalten; Die Signatur des Tokens gewährleistet seine 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

IronPDFist eine leistungsstarke Python-Bibliothek zur Erstellung, Bearbeitung und Signierung von PDFs unter Verwendung von HTML, CSS, Bildern und JavaScript. Es bietet eine hohe Leistungsfähigkeit bei minimalem Speicherverbrauch. Benutzer könnenpDFs aus HTML generieren, zusammenführen odergeteilt PDF-Dokumente,text und Bilder aus PDFs extrahieren, beantragenwasserzeichen, ein PDF in Bild konvertieren formate wie JPEG und PNG,pDF-Dateien verschlüsselnund mehr. IronPDF bietet eine breite Palette von PDF-Operationen.

Hauptmerkmale von IronPDF

Konvertierung von HTML in PDF

Benutzer können HTML-Dateien, HTML-Zeichenfolgen und URLs in PDFs umwandeln. Zum Beispiel,eine Webseite als PDF-Datei wiedergebenVerwendung des Chrome PDF-Renderers von IronPDF aus IronPDF.

Plattformübergreifende Unterstützung

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

IronPDF ist auch verfügbar in.NET, Java, PythonundNode.js.

Bearbeitung und Unterzeichnung

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

Seitenvorlagen und Einstellungen

IronPDF ermöglicht es Ihnen, PDF-Dokumente anzupassen mitkopfzeilen, Fußzeilen, seitenzahlen und einstellbare Ränder. Es unterstützt auch responsive Layouts und benutzerdefinierte Papiergrößen.

Einhaltung von Normen

Das IronPDF-Paket entspricht ebenfalls den PDF-Standards wie PDF/A und PDF/UA. Sie unterstütztUTF-8-Zeichencodierung und verwaltet Assets wie Bilder, CSS und Schriftarten.

Erstellen Sie PDF-Dokumente mit IronPDF und PyJWT

IronPDF-Voraussetzungen

  1. IronPDF verwendet .NET 6.0 als Basistechnologie. Vergewissern Sie sich daher.NET 6.0-Laufzeit auf Ihrem System installiert ist.

  2. Python 3.0+: Sie müssen Python Version 3 oder höher installiert haben.

  3. Pip: Installieren Sie den Python-Paketinstallerpip um das IronPDF-Paket zu installieren.

    Beginnen wir, indem wir eine Python-Datei im Projektstammverzeichnis erstellen, um unsere Skripte hinzuzufügen. Für dieses Beispiel verwenden wirVisual 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
PYTHON

Fügen Sie dann den unten stehenden Code hinzu, um die Verwendung von IronPDF zu demonstrieren undPyJWTPython-Pakete

import jwt
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your key"
# Create a PDF from a HTML string using Python
content = "<h1>Awesome IronPDF with PyJWT</h1>"
content += "<h2> Encoding a JWT</h2>"
# Encoding a JWT
payload = {"Message": "IronPDF is Awesome PDF library"}
secret = "your-256-bit-secret" # private key
token = jwt.encode(payload, secret, algorithm="HS256")
print(token) # public key
content += "<p>Message:IronPDF is Awesome PDF library</p>"
content += "<p>secret:your-256-bit-secret</p>" 
content += "<p>Generated Token:"+str(token)+"</p>"
# Decoding a JWT
content += "<h2> Decoding a JWT</h2>"
decoded_payload = jwt.decode(token, secret, algorithms=["HS256"])
print(decoded_payload)
content += "<p>jwt.decode(token, secret, algorithms=[HS256]</p>"
content += "<p>Decoded Token:"+str(decoded_payload)+"</p>"
#Generate PDF using IronPDF
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf(content)
    # Export to a file or Stream
pdf.SaveAs("Demo-pyjwt.pdf")
PYTHON

Code Erläuterung

Dieser Codeausschnitt demonstriert, wie man das `jwt` verwendet(JSON-Web-Token)Bibliothek zusammen mit IronPDF verwenden, um ein PDF-Dokument zu erstellen, das Beispiele für das Kodieren und Dekodieren von JWTs enthält.

Unten finden Sie einen Überblick über die Funktionen der einzelnen Codekomponenten:

  1. Importe und Einrichtung des Lizenzschlüssels:

    Importiert die Bibliothek `jwt` für JSON Web Token-Funktionalität und `ChromePdfRenderer` von IronPDF zur PDF-Erstellung.

    Legt den Lizenzschlüssel für IronPDF fest, um seine Funktionen zu aktivieren.2. HTML-Inhalts-Einrichtung:

    Initialisiert die Variable `content` mit HTML-Markup, das in das PDF-Dokument aufgenommen werden soll. 3. Kodierung eines JWT:

    Definiert ein Nutzlast-Dictionary, das Daten enthält, die in das JWT kodiert werden sollen(Payload). Gibt einen geheimen Schlüssel an(Geheimnis)zum Signieren des JWT mit dem HMAC-Algorithmus unter Verwendung von SHA-256(`HS256`). Erzeugt ein JWT-Token mittels `jwt.encode`()` Funktion und gibt es aus.4. Dekodierung eines JWT:

    Fügt HTML-Markup zur Darstellung der JWT-Entschlüsselung hinzu. Decodiert den zuvor generierten JWT(`token`)Verwendung von jwt.decode()` Funktion mit demselben Geheimnis und Algorithmus verwenden, der für die Kodierung genutzt wurde.5. PDF-Erstellung:

    Es verwendet ChromePdfRenderer, um die `content` HTML-Zeichenkette in ein PDF-Dokument zu rendern und die erzeugte PDF-Datei als "Demo-pyjwt.pdf" zu speichern. Diese Einrichtung ermöglicht die Erstellung eines PDF-Dokuments, das die Verwendung von JWTs mit IronPDF zur Erzeugung von professionellen PDFs zeigt.

Ausgabe

PyJWT Python(Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 3 - Beispiel Konsolenausgabe

PDF

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

IronPDF-Lizenz

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

IronPDFLizenzschlüssel, um Benutzern zu ermöglichen, die umfangreichen Funktionen vor dem Kauf auszuprobieren.

Setzen Sie den Lizenzschlüssel an den Anfang des Skripts, bevor SieIronPDF-Paket:

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

Schlussfolgerung

PyJWT ist eine leistungsstarke und flexible Bibliothek zur Arbeit 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. Andererseits ist IronPDF eine vielseitige und funktionsreiche PDF-Erzeugungsbibliothek, die dabei hilft, die Ergebnisse in standardisierter Weise zu dokumentieren. Diese beiden Bibliotheken können für Entwickler wahre Wunder bewirken, um ihre Fähigkeiten zu verbessern.

Jordi Bardia
Software-Ingenieur
Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
NÄCHSTES >
HTTPX Python (Wie es funktioniert: Ein Leitfaden für Entwickler)

Sind Sie bereit, loszulegen? Version: 2025.3 gerade veröffentlicht

Lizenzen anzeigen >